Use tox for running tests

tox is a wonderful tool for testing Python. It becomes especially
valuable as a code base needs to support multiple versions of Python or
dependencies.

Test changes enable the use of tox for running the test suite. In
addition to running the tests themselves, tox will also output a
coverage report. All of this is made possible with nose and coverage.

The easiest way to run the suite is by executing `python setup.py test`.
This will take care of installing and executing tox. Another alternative
would be to install tox and then execute `tox`. The README is being
updated to include the former. It is also receiving some additions about
setting environment variables that are needed in order for the tests to
run correctly.

Lastly, the .gitignore is being updated to reflect all of these other
changes.