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.
@perfmode Im confused about what youre getting at here. In this case, the only error I deal with is printed back to the user.