Fix race condition in TestMaxConcurrent

Because the exact order that the three go routines get spawned and run
in is undeterministic the test could fail if one of the first two
commands ran after the third.

This change makes it so all three of the threads run have the fallback
that correctly checks if test passed or failed.
Return the original error if fallback == nil

This is a more general solution that fixes a greater number of cases.

Previously we would ignore any error from the main program if the
fallback was nil.