update CacheClient.Destory method
set up a destoryed flag instead of closing the zk_client
CacheClient shouldn't control the ZkClient.
As the point of view of ZkClient, CacheClient is just a listener.