Clean up surface of interfaces

To avoid the leakage of store handling and the advancing in time
the interfaces which sole purpose is the handling of internal
doozerd (through cotterpin) revisions have been removed. All
assumptions about the state of the receiver and its snapshot for
conflict free functionality have been removed and every method
is responsible to work with an appropriate snapshot. The
cotterpin snapshotable interface is still satisfied by all types
exposed by glimpse, to keep functionality which helps to iterate
quickly like GetSnapshotables and keep access to the types
Snapshot consistent.

* Remove Join methods
* Do not expose FastForward on directory
Merge pull request #1 from soundcloud/feature/clean-surface

Clean up surface of interfaces