Adding the new persist sub module with a kv module to start off with

The new persist module is designed to hold a variety of persistence options (kv, blob, sql). Currently it has a kv store based on leveldb