Rename datastore._helpers -> helpers.

We are going to move 'Entity.from_protobuf' and 'Key.from_protobuf' into
the module as free functions, which will be APIs:  this module needs not
to signal that it has no APIs.

Document now-API module 'gcloud.datastore.helpers'.
Fix #260: remove import cycles in datastore.

'entity.Entity.from_protobuf' classmethod -> 'helpers.entity_from_protobuf'.

'key.Key.from_protobuf' classmethod -> 'helpers.key_from_protobuf'.
Enforce cycle checking.
Update 'gcloud.datastore.helpers' to indicate API-ness.

Correct docstring.

Add '__all__' to indicate public members.
Use longer name for list-comprehension placeholder.

Incorporate feedback from @dhermes.
Merge pull request #289 from tseaver/260-break_datastore_cycles_move_from_protobuf

Fix #260: break datastore cycles by moving 'from_protobuf' classmethods
Implements group_by, projection and offset on datastore Query.

In addition, __eq__ was implemented on datastore.key.Key
to allow for easy comparison.
Addressing corner cases for datastore.Key.__eq__.

These corners are a direct result of #274.
Remove notes about datetime.date objects and timezone matching.

Issues #278 and #279 have been filed to address.
Document regression tests, make run_regression fail if environ not set.
Adding support for queries in regression test.

This is an attempt port the gcloud-node regression tests
for queries over to gcloud-python.
Makes entities for query tests persist to avoid flakiness.

This came about from conversations with @silvolu and
@pcostell. Unfortunately, even if an entity has been stored
and indexes built for 10+ minutes, the tests

- test_query_simple_filter
- test_query_multiple_filters

are still flaky.
Temp commit to fix breakage from #289.

Will be removed after rebasing on top of #291.