Simplify running tests

- A single command `python setup.py test` will now install test
  dependencies, make an in-place build and run the tests.
- The setup script now requires Setuptools. A message will be printed
  if it is not found.