fix django/setuppy test runners to correctly support coverage and other bugs

Summary:
refactor tests to support setup.py files well
- made a base python test runner
- subclassed it to a django test runner
- subclassed it to a setup.py test runner
- still works with existing projects using the django test runner

Reviewers: jeff, ted, dctrwatson, branden, danf, kalail

Reviewed By: kalail

Differential Revision: http://phabricator.local.disqus.net/D10560