Hazelcast Inc.
Merge remote-tracking branch 'origin/master'
Enable to configure and use the loopback multicast sockets (issue hazelcast/hazelcast#2594).
Update the XML configuration generator and builder, related to issue #2594.
Add unit tests related to the issue #2594.
Fixing the unit test of the multicast loopback mode.
Cleaning the code of the MulticastLoopbackModeTest class according to the recommendations of the Hazelcast's development team.
Resolve conflicts with the master branch
Fixing the style of the code.

According to the errors found by the code style checker, the code of the
multicast loopback feature is fixed.
Merge remote-tracking branch 'origin/master'

Conflicts:
	hazelcast-documentation/src/main/docbook/manual/content/index.xml
https://github.com/hazelcast/hazelcast/issues/3567
IllegalMonitorStateException: Current thread is not owner of the lock! in Hibernate support under heavy load
Replaced `map.tryLock` based implementation in `IMapRegionCache.put` with spin loop around atomic operations.
Improved serialization framework to support more storage environments other than jvm heap (offheap, disk etc).
continue serialization changes
added memory package
Refactored NodeInitializer to NodeExtension
updated spi and partitioning system to support high density caching
Completed refactorings/code changes due to serialization changes.
findbugs and checkstyle
Introduced ClientExtension.
Client fixes and improvements due to serialization changes