datastore: scope Key creation to include NS. fixes #116.

RE: #116

I actually have 2 different implementations for this, but this was the one I thought was the most logical.

When a user creates a dataset, they can provide a namespace. Then, anytime they need a key, instead of `datastore.key()`, they call `datasetInstance.key()` - the key will be created with the namespace already bound to the Key.

The other implementation removed any association of a namespace from a Key object, which [felt wrong](https://developers.google.com/datastore/docs/apis/v1beta2/key).

PTAL & LMKWYT.
I think a todo will be cleaning up this test file to use the actual `Query` object to test with, as opposed to the one returned from a Dataset. For now, I just put these tests here as a placeholder, as this type of behavior is a Query constructor test, not a dataset.createQuery test.