* fix: only consider peers with listening ports interesting
It's a waste of space to store peers we cannot connect to (because we don't know what their listening port is).
* fix: don't consider peer as interesting just because we are currently connected to it
For example, it's possible for a peer to be "in-use" and "banned" at the same time, albeit just for a very short while.
* code review: assert that peer port is not empty