Re-do comment change lost in merge during #347.
Merge pull request #350 from tseaver/347-comment_change_lost_in_merge

Re-do comment change lost in merge during #347.
Disable 'too-many'/'too-few' public methods checks.

They are opinionated, and not usefully so for our use cases:

- Data mapping objects have methods based on schema, not an a priori
  thumb rule.

- Context managers may have *no* public methods.
Add 'batch' property to '_PropertyMixin'.

- Defers / aggregates repeated calls to '_patch_properties' within the scope
  of a 'with foo.batch:' block.

- Issues a single '_patch_properties' call with the aggregated dict, IFF
  the block exits without an exception.
Make examples use 'real' APIs which delegate to '_patch_properties.
Spurious changes to work around pylint's 'peephole' blindness.
Merge pull request #352 from tseaver/351-batch_updates_via_context_manager

Fix #351: batch updates via context manager
Avoid re-iterating summary line.
Add accessors for read-only properties of a server-side object.

Addresses part of #313.
Add writable 'Key' properties matching writable server-side properties.

Addresses part of #314.
Factor out simple scalar property creation using helper methods.
Docstrings.
One-line docstrings.

Sigh.  That is *never* gonna look right to me.
Merge pull request #349 from tseaver/313-key_properties

Fix #313:  Add Key properties
Ideas commit for better (implicit) auth story in datastore.

Also
- Integrates this idea into the datastore regression tests.
- Creates a (temporarily ignored) cyclic import
- Has an uncovered statement that confuses nosetests
- Implements a friendlier (more gcloud-node like) version of
  allocated_ids
- DOES NOT update CONTRIBUTING to explain change to regression
  tests or ditch unneeded helper / environ code for regressions
- Creates a datastore cleanup script for when tests get
  broken