Excessive reconnects issue resolution

Fixes #868
We probably should have at some point near in time a `Peer` (or `CryptoPeer`) object abstraction, so we can have cleaner method interfaces:

`cpl = CryptoPeerListener(peer, ctx, data_cb)`

and have:
`peer.ip`
`peer.port`
`peer.pubkey`
`peer.secret`
`peer.guid`