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.
Science fiction for expense report example application.
Update science-fiction CLI.
Initial CLI skeleton to support datastore narrative example.
PEP8
Suppress two useless PEP8 errors.

- E124: closing bracket does not match visual indentation.

- E127: continuation line over-indented for visual indent.

They are over-opinionated, and without sufficient justification from the PEP.
Progress toward sample implementation.
Get exp report creation actually working.
Use same Oauth envvars as regression tests.
Enforce distinction between creating / updating expense reports.
Add 'delete' command.
Add checks for valid report status to update / delete commands.
Record metadata (description, created, updated) for expense reports.