separate io service threads, rlp header parsing, more shutdown/lifecycle testing and improvements, test for network message data, use socket pointer instead of ref for IO service socket