Rewrote P2PNode extensively

Not quite "event-driven", but...P2PNode has been extensively rewritten
in order to improve extensibility. The socket, address information,
connection thread, and all other stuff about a connected node is now
bundled up in one big juicy object.