Made Option and Results methods more similar, restructured
their source layout.

- Renamed the `Result` methods on `Err` values from `NAME_err`
  to `err_NAME` to make the methods flow better into the argument.
  Compare `res.err_unwrap_or(foo)` and `res.unwrap_or_err(foo)`
- Renamed `map_default` to `map_or` to make it more similar to the
  boolean-logic-like naming conventions already in use, and to
  make it not confusing in regard to the `Default` trait.
  Instead, there could be `NAME_default` methods that use that trait.
- Added more methods on `Result` to make it equal with `Option` for
  non-option-specific operations.
- Made `.expect()` be generic over anything you can fail with