Asynchronous TCP Socket Data Functions

I've added a few template functions (most are commented out) for
reading and sending generic data structures through a tcp socket
connection asynchronously.

Right now, connection requests for "raw" mode will start the raw data
transfer mode and dump a temporary map over the socket connection with
an appropriate header containing the size of the data.

There are also functions (commented out) suitable for a client to read
this formatted data from a socket and to unpack it appropriately.

We're going to replace this temporary map dump with a series of data
packet IDs. I'll diagram this up and post it shortly.