messenger.tcp_transport: Reorder classes

This puts TCPConnection ahead of TCPTransport to fix a dependency problem
in a forthcoming commit.
messenger.tcp_transport: Clean up imports
messenger.tcp_transport: Make connection class settable

You can now pass a specific class into TCPTransport (defaulting to
TCPConnection).  This allows you to create and use subclasses of the
normal TCPConnection.
messenger: Added ConnectionOpened event

This new event on the Messenger nexus fires when a new session/connection
is established.  This required existing transports to be modified to
notify the nexus when this occurs.
messenger.tcp_messenger: Add ActiveTCPTransport

This is a TCP messenger transport which attempts to maintain a connection
to some target passive TCPTransport.
messenger: Improve messenger-to-messenger connections

With the new ActiveTCPTransport, it's easy to get messenger-to-messenger
connections.  This adjusts the base Connection and the default channel
bot so that the initial welcome from one side is accepted by the other
side and our session ID on the remote side is stored.
gephi_topo: Use RecocoServerWorker

This class predates the inclusion of RecocoServerWorker into
ioworker.workers and had basically an exact duplicate which this commit
removes.
gephi_worker: Make multi-instance capable

This probably isn't terribly useful now, but may be later.
lib.addresses: Tweak EthAddr comparisons

This looked overly complex as well as quite probably wrong?
gephi_topo: Actually use HTTP; refactor

Previously, we just threw the graph data directly at the socket even
though it was supposed to be in an HTTP session.  This seemed to work fine
in all my initial tests, but it has seemed to cause trouble for at least
one or two other people (probably due to later Java versions).

This commit actually adds some rudimentary HTTP handling, which seems to
solve the problem.  It's possible we should switch to using POX's web
infrastructure in the future, but this hasn't been explored yet.

This commit also refactors the code slightly to put more details of the
communication in the hands of the worker class.

Thanks to Felician Nemeth for his assistance in tracking down the issue
and constructing and testing the fix.