Adds support for Future<Result> failure continuations that return Future
Result::if_success,if_failure callbacks can now return error