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.

Conflicts:
	hazelcast-client/src/main/java/com/hazelcast/client/connection/nio/ClientAbstractIOSelector.java
	hazelcast/src/main/java/com/hazelcast/nio/tcp/AbstractIOSelector.java
Removed a magic number
Minor coding improvement
Fixed another checkstyle issue
Merge pull request #3150 from pveentjer/fix/3.x/3105-ioselector-exception-handling

Fixes #3105 IOSelector exception handling.