tone down error logging in IO layer, see #3386

* Made defaultDecider available in SupervisorStrategy,
  turned out that I didn't need it but I think it could be
  good anyway, e.g.
  `override def supervisorStrategy = OneForOneStrategy(
    enableLogging = false)(SupervisorStrategy.defaultDecider)`
* Verified the following scenarios:
  - client connection failure
  - server bind failure
  - kill client (peer closed)
  - kill server (peer closed)

Some changes are based on guesses, so please correct if they are wrong.
The following errors/warnings are still logged:
- Error during selector management task
- aborting connection (buffer overrun)
- Invalid readyOps
- SSLEngine closed prematurely while sending
- SSLEngine closed prematurely while receiving
- Could not register incoming connection since selector capacity limit is reached