Abstract RPC client logic out of the DIAL listener.

This allows the same RPC client forwarder to be used for the not-yet
implemented mDNS listener.
Merge pull request #4 from zetafunction/staging

Abstract RPC client logic out of the DIAL listener.