Better disconnection handling.

Biggest change are payload callback handling in recvPayload. The idea
is to defer all callbacks until we've read all the data. Otherwise
it's just a bunch of checks against disconnects.
Added the noexcept to the Payload move constructor. Makes them vector
friendly for gcc 4.7
Added stats output to the packet test.