Set peer.timeConnected when we are actualy connected.
update statistics for the time we last send/recieved a message.
Implement getpeerinfo and getconnectedcount

We have a channel for queries and commands in server, where we pass in
args and the channel to reply from, let rpcserver use these interfaces
to provide the requistie information.

So far not all of the informaation is 100% correct, the syncpeer
information needs to be fetched from blockmanager, the subversion isn't
recorded and the number of bytes sent and recieved needs to be obtained
from btcwire. The rest should be correct.
Add support for the addnode command

Currently this acts on the list of all peers, and not just the list of
permanent peers. this will be changed shortly.
Add doc comments.