Add offset alias property to be used in query_method.

* endpoints_proto_datastore/ndb/model.py
  (_EndpointsQueryInfo.__init__): Add _offset member.
  (_EndpointsQueryInfo._GetOffset, _SetOffset, offset): Add offset property.
  (EndpointsModel.OffsetSet, offset): Add offset property.
  (EndpointsModel.query_method.QueryFromRequestMethod): Add offset to
     query_options which is passed to fetch_page.
Fix comments regarding accepted values for offset.  Protect against setting both cursor and offset.

* endpoints_proto_datastore/ndb/model.py
  (_EndpointsQueryInfo.__init__): Fix comment.
  (_EndpointsQueryInfo._SetCursor, _SetOffset): Prevent setting of both cursor
     and offset.  Fix comment.
Fix comments regarding raised exceptions in relation to accepted values
for offset and cursor.

* endpoints_proto_datastore/ndb/model.py
  (_EndpointsQueryInfo._SetCursor, _SetOffset): Add comment regarding
   AttributeError raised when both both cursor and offset are attempted
   to be set.
Add scaffolding for returning count in query results.

* endpoints_proto_datastore/ndb/model.py
  (EndpointsModel.ProtoCollection): Add count field.
  (EndpointsModel.ToMessageCollection): Add count argument.  If count is
   set, return it in the collection message.
  (EndpointsModel.query_method.QueryFromRequestMethod): Update caller.
Add scaffolding for returning count in query results.

* endpoints_proto_datastore/ndb/model.py
  (EndpointsModel.query_method.QueryFromRequestMethod): Turn into a tasklet
   so we can use parallel yield to get count and results.
Merge count branch