Run tests with 'python setup.py test'.

Running `python setup.py test` will run the test suite, so that clients don't have to worry about how to do that. Also it has a useful error code.

Also added the requirements to `setup.py`, so running `python setup.py install` will install the prerequisites if not already present.

Finally, added a note to `README.md` that you can install with `python setup.py install`.