GAE prod and dev support for datastore

Fixes #104.
In other words, what you have currently?

I wouldn't call `gae.id` returning the gae id env variable magical. Unless you mean the implementation with Obj.defineProperty, which also isn't really doing anything magical.

If we're shaping code for the benefit of tests, we might as well have the benefit of it working logically in non-test environments.