Xrootd dCache Tunings

This PR is a somewhat eclectic set of tunings for the multisource client.

Most notably is that it now detects and applies a few workarounds for the dCache implementation.  We now track the entire redirection chain; for dCache, we want to blacklist a different host in the federation context than the pool that served the data.

This also improves our error messages to more reliably report the sitename in the dCache case.

Other commits of note:
- More aggressively try to balance the performance of the two active sources.
- When we (rarely) have to break up a single ROOT ReadV into multiple Xrootd ReadV requests, we now pipeline the requests to the remote server.  This allows us to issue requests for all data before processing responses.
I had meant to drop the LogWarning and instead create a edm::Exception containing the std::exception information and the additional information you were printing. You could even call the same 'addContext' as the above handling of a caught edm::Exception.