Peer Address And Port Fixes

A patch that uses the constructor of the PeerSession with an optional peer port to populate the peer info.

* For outgoing connections the address and port is known and passed into the constructor
* For incoming connections the address is known and the port defaults to zero. We await the hello from the peer to update the listen port if available
* The list of peers sent out will skip an existing peer if the listen port is zero or the peer address falls within the IPV4 private address space
* Any received list of peers is checked to make sure no IPV4 private addresses are consumed