Makes operator checking deterministic in Query.filter.

The order of dictionary keys is not guaranteed between runs of
code so `expression`s ending in '>=' or '<=' were sometimes
matching for '='.
Adding test to make sure the correct operators get set on filter.
Using operator dict in datastore.query and splitting on whitespace.
Adding test for datastore.query.filter with no operator used.

This was to get test coverage back to 100%.
Merge pull request #294 from dhermes/query-operator-fix-dict-random-order

Makes operator checking deterministic in Query.filter.
Implements group_by, projection and offset on datastore Query.
Using native proto operations in Query to avoid data out-of-sync.

This applies to both projection() and order_by() getters using
data from the proto and using pb API method ClearFields in
the setters rather than mucking with pb internals.

Also adds a test for multiple calls to projection/group_by
settings to make sure data is cleared.
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 ports the gcloud-node regression tests for queries
over to gcloud-python.
Making tox regression handle all local and Travis simultaneously.
Making get_dataset() in regression utils use a global.