Implementation of `try!` that works with `Option` and `Result`

Looks really useful, any plans to make this an RFC?