crimson/common: discard failure of finally() block
instead of assuming that the function passed to finally() returns an
erroratorized future, in this change:
* s/safe_then/then_wrapped/ to handle the exception thrown by
the finally function.
* specialize for the case where the finally function does not return
a future, and just call it. note, in seastar's implementation of
finally, `finally_body` is used for specializing these two cases.
* rename "future" to "result", for better readability.