3252: Make Python tests runnable from setup.py.

This does a couple of things for us:

* It makes the tests more discoverable and easier to run, which makes
  for cleaner documentation.  The new command to run tests is
  `python setup.py test` (the old command still works too).

* Because the test dependencies are expressed in setup.py, we can get
  rid of duplication from keeping around requirements.txt.
3252: Add Python package documentation.

This documentation will be displayed nicely on both GitHub and PyPI.
Merge branch '3252-py-sdk-install-docs-wip'

Closes #3252.