Clean up PeerDiscovery, FileServer tests and methods

PeerList has been factored out into its own class. The class has all of the
methods needed to manage peers.

There is also an interface for this PeerList, IPeerList. The protocol checks
that its PeerList implements the IPeerList interface using zope's verify.

PeerDiscoveryMessage has a classmethod to parse messages, basically an
alternate consutrctor.

Add tests for DELETE operation on the FileServerResource