adding in the persist module for awesome storage capabilities. First storage engine is kv/leveldb which provides a keyvalue store system using leveldb
Start up the BatchSync goroutine and add tests for batchset/del
Addresses the issues raised by @ryansb. defering mutex.Unlock(), using time.After and renaming Batch* to Enqueue*
Merge pull request #1 from ryansb/rossdylan/storage

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