Fix/3.0/unwanted usercontext sharing

* the user-context can't be set to a null value on the Config; an IllegalArgumentException will be thrown

* each HazelcastInstance will get its own user-context map that is a copy of the Config.user-context.
So changes made to the user context in one HazelcastInstance, will not be visible to the user-context
in another HazelcastInstance (that is created from the same Config).