There is nothing here that uses the config file path.
Add `remote_snapshots` to the interface and the in-memory implementation (`IFilesystem`).
More useful in-memory implementation of `IFilesystem.snapshots`.
Add a helper to check for the existence of the filesystem.  Use that to handle the no-snapshots case.
Do incremental pushes.

Change push to first retrieve the snapshots that exist remotely.
Supply this information to the local filesystem reader so it can construct an incremental stream.
Update the filesystem writer so it is capable of receiving incremental streams into the filesystem.
Push has become asynchronous - so propagate Deferred-handling code up the stack from it.
merge master
Debug gunk
Merge remote-tracking branch 'origin/master' into integrate-incremental-push-46
Sketch of implementation.
PushVolume implements IStateChange.
Create utility function that constructs the standard INode provider that
volume managers use to communicate with each other.
PushVolume implementation.
Change orchestration algorithm to do an initial push.
Document the new feature.
Lint fix.
Fix document structure while I'm at it.
Note that we will do incremental transfers when possible.
Allow for the default of ``None``.
Add missing API docs
Bytes.