Returns a Future to be used in place of the Future that
failed with the given exception. The exception is provided so that the
Fallback implementation can conditionally determine whether to
propagate the exception or to attempt to recover.