INT-3433 commit

INT-3433: Fixed NIO deadlock (or timout if the CallerBlocksPolicy is used) with Bounded ThreadPoolTaskExecutor.

JIRA: https://jira.spring.io/browse/INT-3433

I have signed and agree to the terms of the SpringSource Individual
Contributor License Agreement.
What is funny I don't see `this.taskExecutor.execute(this);` usage now.
Doesn't it mean that this fix eliminates `CompositeExecutor` at all and `while(moreDataAvailable) {` with `catch (RejectedExecutionException e) {` does the stuff ? 
I mean that there is no reason to go ahead with `CompositeExecutor` and `CallerBlocksPolicy`.

WDYT?
Cc @garyrussell