Add keyspace/shards resolution layer
Merge branch 'master' into liguo
Make flagutil test succeed deterministically.
Merge pull request #39 from msolo/fix_flagutil

Make flagutil test succeed deterministically.
Cosmetic code fix in flagutil.
Add unit test for Resolver
Merge branch 'master' into liguo
Address style
Adding SrvShard locking and test code.
Implementing srvShard lock for tee.
Adding the new rebuild implementation that uses the locking.
Changing other places to not lock shards.

When we do a rebuild, no need to lock a shard if UseSrvShardLocks
is on.
libzookeeper_mt prior to 3.4.x doesn't handle IPv6, so prune the resolved addresses we give the library for now.
Add directory semantics to zk, make magic prefix configurable.
Make default paths externally accessible. Add IsDirectory() function.
Extract zkns pdns adapter code and fix a number of small bugs. Improve test clarity.
List cells when listing the root directory.
Improve CNAME resolution. Improve SRV record randomization.
Add support for weightless round-robin A records.
Add a distributed lock primitive that handles complex edge cases.