Define the Version Controlled System (VCS)-based Storage and VersionedStorage implementations.
There is a base class (VCS) translating Storage language to VCS language, and a number of VCS implementations:
The base VCS class also serves as a filesystem Storage backend (not versioning) in the event that a user has no VCS installed.