Port qserv to new XrdSsi client interface (commits in u/danielw/DM-70_presquash)

This is a combination of 25 commits.

First draft client-side rewrite for new xrootd interface.

Migrate string typedefs into global/stringTypes.h
Migrate TransactionSpec from ccontrol/thread.* to qdisp/TransactionSpec.*
Introduce ResourceUnit to replace QueryPath.
Update xrootd detection and linker options for newest Xrootd source.
Switch XrdSfsCallBack to XrdOucCallBack.
Eliminate PacketIter in favor of PacketBuffer and XrdBufferSource
Introduce QueryRequest, QueryResource, ResultReceiver.
Refactor TableMerger to reduce redundancy and handle new result interface.
Refactor SqlInsertIterator to isolate PacketBuffer/PacketIter code.
Introduce generic callable functor templates (VoidCallable, UnaryCallable).

Additional plumbing to connect new czar dispatch to incoming user queries.
Connect partial plumbing for new client/server rpc
Connect most of the plumbing for worker-side messages.
Connect most of the plumbing for worker-side messages.
Revise protocol to make msg.subchunks.database optional, connect worker sched plumbing
Continue implementing xrootd client/server port.
Improve czar responsiveness to ctrl-c; add response/receiver tracking; add twisted interrupt hook.
Implement worker result returning using file streaming (unfinished, need file cleanup hook).
Connect merger to new ssi-api; push partial merger cfg into UserQueryFactory.
single-chunk seems to work. multiple seems horribly broken.
Improve error handling. Introduce SsiSession2 which eliminates SsiResponder to simplify memory handling.
Cleanup now un-needed reference code.
Improve error handling for failed XrdSsiService provisioning.
Connect MessageStore facility to new UserQuery and Executive.
Add ExecStatus state tracker for Executive's in-flight tasks and connect for user reporting.
Improve Ctrl-C handling for czar.
Cleanup std::cout usage as logger messages.
Improve error handling and query state; connect execstatus to messagestore
Cleanup code; add timing; enable all chunks.
remove SsiSession/SsiResponder in favor of merged SsiSession2
Switch out old SsiSession completely.
Update lsp.cf template for new xrootd api.
Add workaround for OS configs broken for IPv6
Pass user default db context through to UserQuery.
Use {0} instead of {} to maintain Python 2.6 compatibility.
Properly handle no-row results when importing by buffer; improve error handling.
Increase receive buffer size, add debug notes, and add comment to justify increased buffer.

Copy previous reject-non-dummy-chunks-for-non-partitioned-queries feature.
The c++ level rejects adding chunks for non-partitioned queries so as to
relieve the Python layer of worrying about it (this is one step in pushing
query coverage control to c++ rather than python). This rejection wasn't
ported when switching the API to the UserQuery abstraction. This commit
fixes this.

Add fault-recovery (retry-on-error) to XrdSsi-based dispatch
Misc cleanup
Add #include <cassert> as appropriate.
Address review comments from DM-70.
Improve comments to be more doxygen-friendly.
trailing whitespace fixes
Address DM-70 review comments and update copyright lines
Merge branch 'u/danielw/DM-70-rebase1'