Entirely rewritten low-level socket interface to be more flexible.
Moved AsioIOService to p2pnet::.