listen() could be called more than once on the transport layer, make sur...

Created this branch to close issue-511 - Making the p2p port a parameter, it seems it was already implemented. took the time to review the process, looked good except for this.

The periodic IP checker we have in place will call listen() in the event the external IP address has changed, wanted to make sure the previous context would shutdown all the invalid sockets before creating a new zmq  context.

(the develop branch was brought up to date before creating this branch btw, just learned today about the new development process.)