Parallel runner

@cournape: Basic parallel test capabilities. Closes #78.

Limitations:
* Coverage does not work if using the parallel runner
* The runner assumes that all tests are completely independent and it splits the test cases arbitrarily between subprocesses

Issues:
* [ ] The test summary is printed out twice after the run.