PeerWatchers are now added after construction of a Gossiper.

Before, only a single one could be added at construction time.

Currently, there is no way to remove an added PeerWatcher.

Also, move Gossiper definition to the top of gossip.go, and add doc-comments to
its methods.