recoco: Remove some dead wood

If this stuff ever worked, it certainly doesn't now!
boot: Initialize core later

We now initialize core during the boot process rather than on import.
This requires a couple other tweaks for things which expect it to exist.
core: Make version info class attributes

Previously these were instance attributes.
recoco: Add unthreaded mode for SelectHub

Previously, SelectHub always ran in its own thread to put it on exactly
the same footing as any other IO loop.  However, this has a performance
penality, multiple IO loops have rarely been used in practice, and in any
case, SelectHub is probably special.

This patch adds the ability for SelectHub's functionality to be run
directly in the scheduler thread.  It is similar in spirit to changes to
SelectHub which are lumped into ed3b14b3c0 in the debugger branch, but
reuses more code, refactors part of the scheduler to be cleaner, and will
hopefully work correctly even with multiple threads.

Note that the old behavior (hopefully unchanged) is still the default.
This is pretty experimental.
Add commandline argument to select unthreaded SelectHub

The previous commit added an unthreaded SelectHub to recoco.  This commit
lets you enable it from the POX commandline with the --unthread-sh option.

This is all still pretty experimental. :)
forwarding.hub: Add reactive hub mode

forwarding.hub --reactive now gets you a reactive hub.
telnetd: Try harder to initialize curses

We actually don't care about setting up curses -- we're not going to use
it. We just want it to initialize its datastructures and stuff.  I don't
know of a way to do this besides calling setupterm(), though.
Unfortunately, this can fail when sys.stdout isn't as expected.  We now
try a bit harder by falling back to sys.__stdout__.  This isn't a great
solution.
telnetd: Don't hardcode prompts for Python personality