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.
Is there an example of how to chain a cms::Exception from a std::exception?