peer.Peer is now an interface

![](http://m.memegen.com/77n7dk.jpg)
peerstore Put -> Add

Changed lots of peer use, and changed the peerstore to ensure
there is only ever one peer in use.

Fixed #174