Make a new SnapDelta class, overhaul snap_restore.
Make a new SnapDelta class, overhaul snap_restore.

now snap_diff calculates a list of SnapDeltas.
Those can be applied to make the tree match
the snap.

Now snap_diff does not modify state.

use of make_missing and make_present are replaced
by ensure_{absent,dir,symlink}.
andrewguy9/farmfs,andrewguy9/farmfs