Implement reading of packed items from zk/files

Enable the czar css module to read packed key-values from zk. This should
improve scalability by reducing read/write traffic to/from zk and among zk
nodes. This also moves the czar's communication into the Python layer, where
we can leverage a more mature zk client implementation (Kazoo) and further
isolate the query exec pipeline from bottlenecks.

In this phase of migrating, we open the visibility of KvInterfaceImplMem
so that it can be populated and manipulated externally. More code refactoring
is needed (phase 2) to centralize css and zk-dependent code.

Some czar-configuration changes were made in order to make the changes
more testable:
-Change signature of ConfigMap constructor to attach to a StringMap ref
rather than making a deep copy. This is somewhat less safe in general, but
absolutely fine in our current usage, and clarifies the role of ConfigMap
as a thin veneer rather than a standalone container.

-Use config info to use kazoo to populate kvmap and construct facade snapshot

-Patch log.logConfig missing section problem for unittest framework

-Add "set" to KvInterface to allow updating keys

-Update czar css to use set instead of create to support parents of packed keys
Migrate qserv admin to creating packed entries
Improve fault handling of no such table.
Add basic placeholder for css doc
Add check for restrictor without partitioned table
Add trap for bug in QuerySession
Throw better exception on empty BoolTerm in WhereClause
Merge branch 'u/danielw/DM-1249' (CSS JSON key packing)