Yeah, I think ideally this series would be prefixed by a patch that removed any mention of LevelDBStore from FileStore or MonitorDBStore and made the factory method like KeyValueDB::create(string type, ...). But the leveldb options make this tricky, since they would need to be abstracted as part of the KeyValueDB interface for it to be fully generic. 

Interestingly, rocks and leveldb have nearly identical interfaces.  The next backend we add  (probably libkinetic) will not.  It might be fine to wait... but it would still be nice to avoid this #ifdef stuff and backend awareness in the callers.