datastore: Introduce Key type

Related to #73 and #39.
Keys should be immutable. We should do the same for Int and Double containers.