Pulled out HazelcastClientInstance

Fixes #3781

Also improved documentation and minor cleanups
Minor testing improvements
Minor doc typo fix
Added package info to com.hazelcast.client.impl
Some rebasing fun
Merge pull request #3782 from pveentjer/cleanup/3.x/pulled-out-ClientHazelcastInstance

Pulled out HazelcastClientInstance