add passing test and code for using the hearbeat message to add a peer
Use default dict instead of list for peers

The program needs to be able to remove peers if an exit message is received.
The easiest way to implement this is by telling your program to remove the key
by an ID.

It could also be implemented by using a list and just looping over the list of
the peer ids.
add a remove peer method where we can swap out delete logic based on the data structure used for peerlist
Merge branch 'remove_peer' into bossman