[std::ascii] Add .to_ascii_opt() and .into_ascii_opt() returning Option

… instead of failing.

Make them default methods on the trait, and also make .to_ascii()
a default method while we’re at it.

Conflicts:
	src/libstd/ascii.rs
rustc: Strip struct fields and enum variants

Closes #11085
std::rand: remove the `fn main()` from the examples.
std::hashmap: add an example to mangle.
Register new snapshots
auto merge of #11148 : alexcrichton/rust/snapshots, r=luqmana

C++ is gone for good and `crate_id` is the new `pkgid`.
std: remove some test warnings
std: result::collect to take an iterator, add option::collect
librustc: Change `@mut Block` to `@Block`.
librustc: De-`@mut` `FnCtxt`.
librustc: De-`@mut` the type interner
librustc: De-`@mut` the `node_type_substs` table
librustc: De-`@mut` the type context's `methods` table
librustc: De-`@mut` the `trait_method_def_ids` table.
librustc: De-`@mut` the `trait_methods_cache`
librustc: De-`@mut` the `impl_trait_cache`
librustc: De-`@mut` `trait_refs`
librustc: De-`@mut` `trait_defs`
librustc: De-`@mut` `intrinsic_defs`
librustc: De-`@mut` the short names cache