TransactionalMap.putIfAbsent unlock
Fixes #3105 IOSelector exception handling.

There are 2 improvements:
1: if the selector fails to be opened, the exception isn't propated and can lead to an infinite loop in the run method
2: if the selector.select fails, it can lead to an hot cpu because of spinning. I have applied the same technique as used in Netty to prevent this from happening. Also the full exception stacktrace is logged.
fix for remove, and replace, tests simplification
 fix txn keyset and values with predicate and portable entry
Merge pull request #3106 from pveentjer/fix/3.m/3105-ioselector-exception-handling

Fixes #3105 IOSelector exception handling.
fixes #3132 in maintenance-3.x
Merge branch 'maintenance-3.x' of github.com:setronica-dev/hazelcast into maintenance-3.x
Pulled out transaction unlock method. Improved tx map test method names.
Merge pull request #3157 from mesutcelik/backport3132

fixes "isNew() does not check the HC Session Cache" in maintenance-3.x
Merge pull request #3154 from sancar/fix/txnKeySetAndValues/maint3.x

 fix txn keyset and values with predicate and portable entry
Merge remote-tracking branch 'hz/maintenance-3.x' into
maintenance-3.x-seeburger