[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
Rewrite SyntaxEnv

I'd really like to be able to do something like

struct MapChain<'next, K, V> {
    info: BlockInfo,
    map: HashMap<K, V>,
    next: Option<&'next mut MapChain<'next, K, V>
}

but I can't get the lifetimes to work out.
Add testing tutorial to docs
Fix usage of rustc --ls on invalid files

Closes #11259
Update references to rustc.rc in README.
Bump version to 0.9
auto merge of #10828 : SimonSapin/rust/ascii_opt, r=pcwalton

… instead of failing.

Make them default methods on the trait, and also make .to_ascii() a default method while we’re at it.
auto merge of #11226 : pcwalton/rust/mutable-parser, r=pcwalton

r? @alexcrichton
auto merge of #11093 : alexcrichton/rust/issue-11085, r=pcwalton

Closes #11085
auto merge of #11052 : jvns/rust/testing-tutorial, r=brson

There's no explanation anywhere right now of how to do testing with Rust, so here's a basic explanation of how to write and run a test.
Add read_to_str and write_{str, line}

These methods are sorely needed on readers and writers, and I believe that the
encoding story should be solved with composition. This commit adds back the
missed functions when reading/writing strings onto generic Readers/Writers.
auto merge of #10861 : alexcrichton/rust/iostr, r=pcwalton

These methods are sorely needed on readers and writers, and I believe that the
encoding story should be solved with composition. This commit adds back the
missed functions when reading/writing strings onto generic Readers/Writers.
auto merge of #11228 : sfackler/rust/syntaxenv, r=pcwalton

I'd really like to be able to do something like

```rust
struct MapChain<'next, K, V> {
    info: BlockInfo,
    map: HashMap<K, V>,
    next: Option<&'next mut MapChain<'next, K, V>
}
```

but I can't get the lifetimes to work out.
auto merge of #11262 : alexcrichton/rust/issue-11259, r=pcwalton

Closes #11259
auto merge of #11275 : matt-auld/rust/update_readme, r=pcwalton
auto merge of #11276 : brson/rust/0.9, r=pcwalton
libsyntax: De-`@mut` `ParseSess::included_mod_stack`
librustc: De-`@mut` the parse session
libsyntax: De-`@mut` `StringReader::pos`