Undo AbstractChannelHandlerContext extend PausableChannelEventExecutor. ...

...Fixes #2814

Motivation:
Our last-minute change that made AbstractChannelHandlerContext implement PausableChannelEventExecutor broke the socksproxy example.

Modifications:
AbstractChannelHandlerContext does not inherit from PausableChannelEventExecutor anymore. Instead we'll allocate an extra object on demand.

Result:

AbstractChannelHandlerContext.executor().newPromise() returns the correct type.
@normanmaurer is it correct like this? The downside over double checked locking is that we might see additional allocations.