Split the tests out into something runnable via conventional means

The way to run them now is either:

* via `tox` (best) (i.e. pip install tox, tox in the root of the source checkout)
* via `nosetests --with-doctest --doctest-options=...` see the tox file for the exact incantation (or run without doctests just via `nosetests`)

I can add these to the docs if you'd like them somewhere.

I think most of this is fairly mundane, it was mostly just rote work. There were 274 tests run before, and 274 now, so I think I got everything.

The only real thing worth looking at is that I made GObject be required at import time rather than construction of a GlibEventLoop, otherwise 4 doctests will fail without GObject present on py2. If you don't like that we can do it another way.