stabilize core::{option, result}

Per API meeting

  https://github.com/rust-lang/meeting-minutes/blob/master/Meeting-API-review-2014-08-13.md

# Changes to `core::option`

Most of the module is marked as stable or unstable; most of the unstable items are awaiting resolution of conventions issues.

However, a few methods have been deprecated, either due to lack of use or redundancy:

* `take_unwrap`, `get_ref` and `get_mut_ref` (redundant, and we prefer for this functionality to go through an explicit .unwrap)
* `filtered` and `while`
* `mutate` and `mutate_or_set`
* `collect`: this functionality is being moved to a new `FromIterator` impl.

# Changes to `core::result`

Most of the module is marked as stable or unstable; most of the unstable items are awaiting resolution of conventions issues.

* `collect`: this functionality is being moved to a new `FromIterator` impl.
* `fold_` is deprecated due to lack of use
* Several methods found in `core::option` are added here, including `iter`, `as_slice`, and variants.

Due to deprecations, this is a:

[breaking-change]
I tried the `.ok()` route first, but sadly it doesn't work: it consumes the `Result`, and doing `as_ref()` first produces the wrong slice type in the end.

We didn't discuss much about adding additional `Err`-biased methods. Since these are essentially convenience methods, my feeling is that we should wait to include `Err`-biased versions until there is clear demand. The rationale for adding the `Ok`-biased versions is just to align the `Option` and `Result` APIs.