More typedef, less typing
Have the PeerFactory provide the list of supported protocols

... and make use of that in ClientAuthHandler, instead of hardcoding
the available protocols there.
Use PeerFactory instead of creating LegacyPeer directly

This means that legacypeer.h needs be included by peerfactory.cpp only,
and we can remove all references to it elsewhere.