ipfs command uses config RPC address when acting as a client

Rather than send commands to the hardcoded "localhost:12345", they should be sent to the RPCAddress that is set in the config. I changed the daemon client function ''SendCommand'' to take a multiaddr rather than a "host:port" string. This seemed like a reasonable thing to do since ''NewDaemonListener'' takes a multiaddr as its bind argument.
 
I also made a minor fix to a dht debugging printf.
worried about code dup everywhere. room for errors. can we abstract this out into a function?