Join intermediate `persist` steps in registration
Join intermediate `persist` steps in registration

Drops calls to `persist` partway through each registration iteration.
Instead `persist`s a couple of these reused intermediate variables along
with the final call to `persist`. Makes sure to delete these
intermediate variables right afterwards. The main point here is these
values may be reused a few times to generate some "final" intermediate
value (e.g. drift corrected shifts generated from computed shifts). With
these sorts of values, we want Dask to `persist` them temporarily so
that they are computed once and held in memory until they have been used
for everything they are needed for. As we don't hang onto these values,
they are cleared from persisted memory once everything that depends on
them have been computed.

Note: This now works as Dask 0.20.2 fixes a bug with `atop` fusion,
which these intermediate `persist`s had worked around.

DudLab/nanshe_workflow,nanshe-org/nanshe_workflow