Setup.py fixes and better test runner