Peer Management Updates

Motivation:
- When sending messages to all connected peers (i.e. search) the peer may sometimes not be in your k-buckets. 
- Peers in the sidebar are not realtime synced at the moment. When we receive hello messages this is an apt time to dynamically add them to our list.

Changelog:
- Add contact to k-bucket if not found when iterating through activePeers
- Add hello peers to sidebar as we receive hellos.
I guess getContact will return None when it can't find the specified node in the DHT