Enable automated testing on Python 3.4
Finish Motor 0.3 changelog.
(cherry picked from commit 3065336)
Update Travis config for Tornado 4b1.
Explain why we have a "sleep" in .travis.yml.
Use PyMongo's technique for running suite-level setup and teardown.

Motor had a setUpModule() function in each module, which ran setup_package if it hadn't run yet.
Remove this and use PyMongo's technique, a TextTestRunner subclass that runs suite-level setup
and teardown, and a custom 'setup.py test' command that runs our special runner.
Collect server info in a TestEnvironment instance.
Reduce reliance on PyMongo in tests.
Fix matrix in Travis.

I had misunderstood how the "env" section affects the matrix structure.
No need to set env.is_replica_set to False twice.
MOTOR-38, fix tests for narrowed localhost exception.

See SERVER 12621, nearly the only thing allowed on MongoDB 2.7.1+,
for a server started with auth but with no users, is to create an admin
user. Motor's tests now detect this case and immediately create an
admin user. The test MotorClient remains logged in as the admin user
throughout the suite.
Whitespace.
Unused import in GridFS test.
MOTOR-38, fix RS tests for narrowed localhost exception.

See SERVER 12621. This applies the previous fixes, but to
replica set tests specifically.
Further Travis matrix fixes.
Wait up to 30 sec for MongoDB to start on Travis.

Travis's default wait often isn't long enough.
Much longer timeout when testing max_time_ms.

Debug rare failures in Jenkins when timeout was 1 second.
Is the host really that slow, or is there a server race when
disabling the maxTimeAlwaysTimeOut failpoint?
Collect server info in a TestEnvironment instance.

Bugfix.
Move HA tests' dbpath to motor_ha/.
MOTOR-38, fix tests for narrowed localhost exception.

Brief hack while awaiting a PYTHON 714 backport to PyMongo 2.7.x.
Refactor tests' setup_package().