Add Datastore

This patch adds the Datastore class and provides methods to retrieve a key given the path to the key. Per the design document, the datastore has the responsibility of managing the disk storage as it relates to the records.