Network updates:
Rename disconnect to sendDisconnect; set and enforce disconnect timeout (2 seconds).
Move peer deletion back to peerserver server and restore connection timeout logic (rather than waiting on remote to drop connection).
Update worst-peer removal to exclude peers which have been sent disconnect packet but still connected.
Refactor write() loop into single method w/independent lock for queue to allow for queue-pushes while buffers are written.
Update disconnect to immediately close socket and skip sending disconnect packet when appropriate.
lock free network read/write
self reference preventing dealloc while handler stack isn't calling doread/write
Networking
Merge branch 'develop' of https://github.com/ethereum/cpp-ethereum into upstream-dev
networking, threading, mining rewrite