Add [] operator and has_key? to DataStore to make DataStore act like a hash.

The main benefit of this is to add the ability to gracefully handle the case when data is not present.
Merge pull request #880 from willkoehler/add_hash_features_to_datastore

Add [] operator and has_key? to DataStore to make DataStore act like a hash