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
Merge remote-tracking branch 'origin/master' into feature/master/per_cache_based_max_size
Merge remote-tracking branch 'origin/master' into feature/master/per_cache_based_max_size
Merge remote-tracking branch 'origin/master' into feature/master/per_cache_based_max_size
Merge remote-tracking branch 'origin/master' into feature/master/per_cache_based_max_size
max-size policy impl
update on hibernate modules for max-size policy impl
update on spring module for max-size policy impl
size type changed back to int from long in "MaxSizeConfig"
Removed unused operation starttime.
response = BasicInvocation.WAIT_RESPONSE should be cleared after response is read. Fixes #4123
Invocation should be deregistered when OperationTimeoutException is thrown. Also async invocations should be notified about operation timeout. Fixes #4113
Merge remote-tracking branch 'origin/master' into feature/master/per_cache_based_max_size
refactored as review comments of @mdogan and @ahmetmircik, "CacheMaxSizeChecker" interface and implementations moved to new package named "maxsize" under "cache.impl" package and some minor comment/documentation updates.
Improved memory and GC stats. Added native memory stats to HealthMonitor.
My changes
Merge pull request #4136 from mdogan/memory-stats

Improved memory and GC stats. Added native memory stats to HealthMonitor.
Moved swap space data to toString() method in HealthMonitor.
Improved serialization tests

(cherry picked from commit 9ac443cf9a5585d7749b184080443f51a4689438)