Added expect() and expect_err() to Result.
Similar to Option.expect(), these unwrap a Result and return it,
If that fails then they fail with a custom message.
Unlike Option.expect() the message is provided by a closure, so it
can use the value contained in the other 'half' of the result.