New test infrastructure.

Elpy can now use different test backends and does not require
nosetests anymore. In addition, the C-c C-t command will now
choose to run the test at point if there is any, otherwise
run all tests in the project.

This implements #140 and #181.