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