Pulled out HazelcastClientInstance

Fixes #3781

Also improved documentation and minor cleanups
Good answer. I'll add it.