Avoid possible double free() of ZK handle.
Avoid possible double free() of ZK handle.

If #close() was invoked, zookeeper_close() might be invoked
again by the Ruby GC, leading to a double free(). The previous
coding also neglected to call zookeeper_close() on a
non-connected ZK handle, which would leak resources.

zk-ruby/zookeeper,songling88/zookeeper,rickypai/zookeeper,rickypai/zookeeper,songling88/zookeeper,rickypai/zookeeper,rickypai/zookeeper,songling88/zookeeper,zk-ruby/zookeeper,songling88/zookeeper,zk-ruby/zookeeper