Drop munging of 's~' prefix onto keys.

Fixes #121.

Note:  may conflict with PR #257 and #258.
Merge pull request #259 from tseaver/121-drop_dataset_prefixes_in_keys

Fix #121:  Drop munging of 's~' prefix onto keys.
Enforce linting in Travis (not as 'after_success').

Closes #178.
Resolving cyclic imports in storage package.

This is accomplished by moving the definitions of
BucketIterator and KeyIterator into their respective
modules (i.e. storage.bucket and storage.key).

This is not so big an issue because the parent class
iterator.Iterator does most of the work and the children
only require a small tweak.
Removed unused _Bucket class from iterator test.
Merge pull request #270 from tseaver/178-enforce_lint_in_travis

Enforce linting in Travis (not as 'after_success').
Merge pull request #269 from dhermes/fix-cyclic-imports-storage

Resolving cyclic imports in storage package.
Revert "Fix #121:  Drop munging of 's~' prefix onto keys."
Merge pull request #274 from GoogleCloudPlatform/revert-259-121-drop_dataset_prefixes_in_keys

Revert "Fix #121:  Drop munging of 's~' prefix onto keys."
Remove spurious assertions about Content-Length header value.

They are 'magic numbers' which break when code-not-under-test changes.
Merge pull request #275 from tseaver/remove-content_length_assertions

Remove spurious assertions about Content-Length header value.
Basic regression/functional tests for datastore.

This commit only tests
- Adding a basic entity with an auto allocated ID, a
  given integer ID or a given name.
- Adding multiple entities via a transaction
- The given kind has no other entities (i.e. no false positives)

This commit adds
- A sample file to set environment variables for a test runner.
- A test runner.
- A utility for getting test relevant environ variables.
Merge pull request #273 from dhermes/functional-test-part1

Functional test part1
Fixing Sphinx warnings and preventing more from occurring.
Merge pull request #277 from dhermes/fix-sphinx-warnings

Fixing Sphinx warnings and preventing more from occurring.
Work around protobuf 2.6.1 install failure on Python 2.6.x.
Merge pull request #284 from tseaver/work_around_protobuf_2.6.1-py26

Work around protobuf 2.6.1 install failure on Python 2.6.x.
Drop 'Dataset.query' and 'Dataset.entity' convenience APIs.

Point instead to constructing Query and Entity directly.

Addresses #260, but only partially, for gcloud.datastore.
Add a factory registry to datastore._helpers.

Work toward breaking cycles based on import-for-construction.
Break import cycles via a factory registry.

Note that some classes have more than one factory (class methodsd like
'from_protobuf' and 'from_path').  Each is registered under a separate name.

Addresses #260 (for gcloud.datastore).