Implements group_by, projection and offset on datastore Query.

In addition, `__eq__` was implemented on datastore.key.Key to allow for easy comparison.

See #281 for some context. As mentioned there, I looked and didn't see any equivalent bugs for these features.
Yeah I wasn't aware of it's existence until I looked at #296.