UserContext fixes

* 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 ceated from the same Config).
Improved multicast joiner master election process.
Fixed listener deregistration member left exception.
Merge pull request #608 from pveentjer/fix/3.0/unwanted-usercontext-sharing

Fix/3.0/unwanted usercontext sharing
Cleanup.
Fixed nested portable serialization inside other formats. Fixes #600.
Merge remote-tracking branch 'origin/3.0' into 3.0

Conflicts:
	hazelcast/src/main/java/com/hazelcast/spi/impl/EventServiceImpl.java
Send RejectedExecutionException immediately if call is rejected. Improvement for issue #602.
Merge branch '3.0' of github.com:hazelcast/hazelcast into 3.0
fixes 610
NPE on query entry
Query, don't cache "this" getter, can lead to oome.
Hazelcast.getAllInstances() should respect min cluster size.
Client; close conn after reading stream. Logging improvements.
QueryEntry improvement.
Closed dangling sockets those accepted during node termination.
Suppress rejected execution exception during node termination.
Cleanup, test fixes..
System log cleanups.
Fixed class-definition initialization bug (creating binary after registering CD)..
fixes #614