New persist() method
Follow-up for the https://github.com/iterative/datachain/issues/327
Sometimes it is useful to save intermediate chain state, because operations are lazy, chains are not executed immediately and intermediate results are not stored.
For example, if we want to create dc_filtered_1 and dc_embeddings from dc, without saving intermediate dc chain will be executed twice, for each children.
It is possible to do it with save() method without name param, also we have exec() method, but it looks like persist() is better and more verbose name for this method.
After persist() method will be implemented, we may want to make name param in save() method mandatory.
How about materialise instead of persist? Just a suggestion.
.persist() is the name of the method in the dataframe API standard. I think that's what we should use - assuming it works exactly as described in the standard.
Was added in https://github.com/iterative/datachain/pull/1029