datastore: Introduce Key type

Related to #73 and #39.
I was able to get all passing tests when changing this to:

```js
Key: function(data) {
  return new entity.Key([].slice.call(arguments));
}
```