Move storage backend to its own file.

* Create BaseStorageBackend class to document interface

* Change previous StorageBackend to InMemoryStorageBackend