In-memory store

Create a `Store` interface that is implemented by both a `MemoryStore` as well as a `LevelStore` based on the current LevelDB implementation.  Add a CLI flag to indicate the persistence strategy: `leveldb` or `memory`.