make zkp wrap rather than extend ZooKeeper

Allows anything with a set ZkHost (which holds onto a ZKP) to benefits from reconnects and not stay disconnected.  Specifically we noticed this on the UpdateFilesystemStatisticsRunnable thread, where it would never reconnect, but a lot of stuff in PartitionServer holds onto the same ZkHost as well, so I feel like this should help a lot of the issues we have with PartitionServer not recovering after losing zk connections.

@thomas-kielbus would love to have your thoughts if you have a chance
@pwestling