Daemon code

This pull request allows ipfs to run as a daemon that is communicated to via a TCP socket. When the daemon is running, all 'ipfs' commands will be run on the daemon process as opposed to the ipfs command process.
My comment is on the function signature, but GitHub has chosen to highlight the block of code above it. I'll try to demonstrate with a snippet.