Only using explicit namespace when deserializing key pb.

This issue surfaced during review for #282.
Adding checks for namespace in datastore helpers test.

This is to ensure that values are correctly ignored when
the field isn't set on the protobuf.
Merge pull request #292 from dhermes/unmarshall-key-namespace

Only using explicit namespace when deserializing key pb.
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.