Well that was stupid...
Better daemonizing, logging, piding, and loading

The server will save and load configs from disk, now, as well as save
logs and pid information to disk.
Make the tcp transport a _little_ nicer

I thought what was causing testing hangs was the fact that when it
connected to the server again for heartbeat information, it wasn't
getting anything back. Turns out it's because it won't accept the next
connection until the last one is done, which it's in the middle of at
that point. I will have to make the server so that it can accept
multiple connections at once.