Fixed issue where task would incorrectly run(fork) when bind over different types of task

Cherry-picking pull request #423 (cd09618)
nonblocking version of gatherUnordered and chooseAny, and tests

Cherry-picking 6a0849e