FutureUtil should wait until timeout ends instead of throwing first timeout exception. ExceptionHandler should decide to throw exception or not. Caller should decide to cancel other futures or not.
merged with latest master
Merge pull request #3735 from mdogan/fix/3.3/future-util

FutureUtil should wait until timeout ends instead of throwing first time...