DM-1152 - zookeeper connection - proper/robust implementation

It is a combination of 4 commits.
See branch u/jbecla/DM-1152 for full details
Merge branch 'u/jbecla/DM-1152'
DM-518: improved CSS exceptions. Small bug fixes.

* Removed unnenecessary exception translation in CSS.
* Fixed bug: same db name passed to createDbLike() was causing the function to deadlock.
* Fixed ifdef names
Merge branch 'u/jbecla/DM-518'
Creation of scripts :
- preparing local eups distribution server, using eups SOURCE=package
- top-level automated install procedure
- replacement of '-r' option by '-d' in qserv-configure.py
Moving to 2014_09.0 release
- sciSQL is distributed as an eups package, and SCISQL_DIR is now read from
  environment during configuration step
- services configuration scripts now fails is an error occurs
- BUGFIX in testing of Mysql socket availability
- BUGFIX in template values initialization (python binary detection)
- BUGFIX in client configuration file management
- Dependencies list update for ubuntu 14.04
- Documentation improvments :
  * creation of a 'development reference' chapter,
  * documenting internet-free procedure,
  * adding examples scripts related to internet-free distribution server management.
Merge branch 'u/fjammes/DM-602'
BUGFIX : qserv-configure --qserv-run-dir option flag is now -R,
(introduced in 5eb346f).
DM-800: implemented zoo reconnect/retry, improved get(), all thread-safe

This is a combination of 8 commits.
 * DM-800: implemented reconnect and one retry if zoo function fail
 * fixed include guards
 * various fixes and improvements suggested by AndyS
 * improved zoo_get
 * merged two similar functions together, added test
 * made thread safe
 * improved get()
 * node->key rename for consistency
see u/jbecla/DM-800 for details
Merge branch 'u/jbecla/DM-800'
Moving test code to qserv_testdata repository
Removing testdata_dir management from administration scripts
python package lsst.qserv is both distributed in qserv and qserv_testdata
Merge branch 'u/fjammes/DM-953'
Implement new Qserv query rewriting and validation logic.

- Implement duplicate removal for simple queries (non-joins)
  on match tables.
- Remove dead code for permuting FromLists
- Move findAndTerm out of WhereClause.cc to make it useable elsewhere.
- Remove complicated and buggy ValueExprIter in favor of a visitor
  based approach, and allow value expressions to be extracted from
  GROUP BY, HAVING, ORDER BY, and BoolTerms.
- Fix incomplete implementation of findColumnRefs().
- Fix missing commas in QueryTemplate rendering for compound
  GROUP BY and ORDER BY clauses.
- Extend ColumnRef patching performed by TablePlugin to ON,
  GROUP BY, HAVING, and ORDER BY clauses.
- Fix alias lookup table generation in TablePlugin so that unqualified
  reverse lookup for table T will find the entry for D.T, where D is
  the default database.
- Remove "secIndexColName" from metadata - "dirColName" will always
  have a secondary index, and support for additional secondary indexes
  will be added later. Update the css::Facade API to use "dirColName"
  rather than "keyColumn", and provide a way to list all the secondary
  index columns for a table. Sync up test cases, example qserv-admin
  param files, and qana/QservRestrictorPlugin.cc.
- Minor stylistic cleanups.
- Make partitioning overlap accessible via css::Facade.
- Provide access to partitioning IDs and director table names from
  css::Facade.
- Introduce a set of table metadata classes,
  as well as a pooling facility for them.
- Add data structures for query validation/rewriting and resolution
  of interesting column references.
- Implement query rewriting, including support for match tables, and
  improve documentation.
- Rewrite TablePlugin to get rid of TableStrategy and use RelationGraph
  instead
- Fix bug in FromList::clone(), which was shallow copying rather than
  deep copying its TableRefs.
- Update test cases according to new TablePlugin logic and fix bugs
  that were revealed
- Make InvalidTableError subclass AnalysisError so that throwing them
  does not crash the czar
Merge branch 'tickets/DM-198'
First draft DM-199 result handling using row-based transfer, load data infile.

This is a combination of 10 commits.
Port prototype mysql result handling and load data infile into qserv infra
Clean up preprocessor constants
Update wire proto for result plumbing.
Move Task.h from wcontrol to wbase.
Add trivial cout printer for WLogger.
Implement new worker query execution model (stub).
Test protobuf output for QueryAction
Connect QueryAction with Foreman. Build partial query squash/poision plumbing on the worker.
ChunkResource feature, ProtoRowBuffer, InfileMerger; split out intTypes and stringTypes
Trailing whitespace fixes
Implement new XrdSsiStream-based result transmission

Updating SendChannel interface for better error handling.
Updating InfileMerger to integrate with UserQuery.
Update protocol definition to handle default values more explicitly in schema.
Partially integrate InfileMerger with LocalInfile infrastructure.
Refactor LocalInfile to work with external RowBuffer objects.

Result plumbing fixes. Remove old code. Switch MergeFixup to pass SelectStmt obj instead.

Working protobuf (schema+data) result plumbing for aggregation, empty results, area select.

Refactor InfileMerger; eliminate MergeFixup in favor of a more flexible
SelectStmt mergeStmt; remove sharing for proto-message objs in InfileMerger;
handle no-row results in ProtoRowBuffer.
Improve error handling when mysqld is down