Split out iptestcontroller to control test process.
Start refactoring test machinery
Fix cleanup of test controller
Improve test output
Allow xunit and coverage output
Better coverage reporting
Fix debugger doctest
Fix travis iptest call
cd to /tmp in Travis for tests
Also show which test groups didn't run
Separate TestController base class which could be used for JS tests
Fix iptest setuptools entry point
Fix printing test failures on Python 3
Allow drilling down to individual tests using iptest command
Make debugger doctest more remote.

Depending on whether or not __main__ is set to a real module, there may
or may not be a 'File: ' line in the pinfo output. This differs
according to whether tests were run directly or via a subprocess using
'python -c', so we use the doctest ellipsis to ignore the difference.
Allow 'iptest IPython.lib' as well as 'iptest lib'
Unify entry points for iptest
Simplify parsing -j arg