pool: Decouple pool from MoverProtocol

The pool has traditionally used the MoverProtocol interface to encapsulate
protocol specific logic for transfers. In dCache 1.9.11 a new transfer service
abstraction was introduced, which allows protocol specific state to be captured
outside of any one transfer.

The first thing a pool does when receiving a transfer request from a door is to
create a MoverProtocol instance. This despite the fact that the core aspect of
this interface, the MoverProtocol#runIO method, was only used by a single
transfer service.

This patch refactors this and decouples the pool from the MoverProtocol
interface. MoverProtocol is only used by TransferService implementations that
choose to use it - but one can implement an execution service without any
MoverProtocol instance.

A MoverFactory interface is introduced that can create Mover instances.
Protocol specific MoverFactory implementations can create protocol specific
Mover instances. TransferServices serves to provide MoverFactory instances for
particular protocols. The available factories are injected through Spring (we
can make this pluggable in the future). This replaces the old movermap logic
that was previously found in PoolV4. The movermap still exists for legacy
MoverProtocol implementations, but is now maintained by
MoverProtocolTransferService.

The NFS transfer service still uses its MoverProtocol bridge and thus also
creates instances of MoverProtocolMover, however this is simply because I
wanted to minize changes to the NFS code (I cannot test it). I expect that now
that MoverProtocol is no longer required, we can update the NFS code to get rid
of it.

I have to stress that the overall design is still as introduced in 1.9.11.  We
have Movers which are "executed" by TransferServices and PostTransferServices,
we have a scheduler that takes care of queuing, killing and activing the
transfer and post transfer steps asynchronously.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5450/