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.
Made TCP/IP connection timeout configurable via property hazelcast.socket.connect.timeout.seconds.
Merge branch 'feature/master/per_cache_based_max_size' of /Users/serkanozal/Documents/workspace/hazelcast with conflicts.
Merge remote-tracking branch 'origin/master' into feature/master/per_cache_based_max_size

Conflicts:
	hazelcast/src/main/java/com/hazelcast/cache/impl/AbstractCacheRecordStore.java
	hazelcast/src/main/java/com/hazelcast/cache/impl/record/CacheRecordHashMap.java
Changes per code review.
More code review changes.
Fixed checkstyle issue.
Merge https://github.com/gallandarakhneorg/hazelcast
Moved the requirement for memory visibility of a Reducers internal state to the framework by piggybacking it to an internal field
fixed checkstyle
Changed position for the happens-before
Adding newly designed Configuration chapters.
Adding more Configuration sections.
Merge pull request #4087 from agherardi/master

Made SocketConnector timeout configurable (Patch for #3613)