Reordered the methods in std::Option and std::Result

Cleaned up the source in a few places

Renamed `map_move` to `map`, removed other `map` methods

Added `as_ref` and `as_mut` adapters to `Result`

Added `fmt::Default` impl
Cleaned up the option and result module in more detail

Made both types implement more standard traits in a nicer way

Derived more traits
Removed legacy implementations