srm: Take root path into account when selecting protocol

Changes the door selection logic such that the root path of a door is taken
into account when selecting a transfer protocol.

Also refactors the Storage interface such that the decision to reuse a door is
done in the Storage implementation rather than in the generic SRM code (which
shouldn't know about dcap).

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6645/