If a child function call fails then let its parent call handle the exception instead of failing the request.
Also add good tests for this feature that proves that it works.
TestFuturesWait.test_wait_first_failure is not aiming to directly test this but right now it's skipped because this feature is not implemented.