New DBM based Key-Value Store

At work, we use the Redis Key-Value Store.  However, we want to simplify some local development installations by minimizing the amount of external components involved.  In particular, we want to be able to run locally without Redis.

This series of changes is a generalization of our custom KVStore used for local environments.  I hope you find it useful too for the same use case.

Please note that the effort goes to proper semantics (at least, the same as Redis provides) and not to performance, as this store is not intended for production configurations.