[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
Conservatively export all trait methods and impls

The comments have more information as to why this is done, but the basic idea is
that finding an exported trait is actually a fairly difficult problem. The true
answer lies in whether a trait is ever referenced from another exported method,
and right now this kind of analysis doesn't exist, so the conservative answer of
"yes" is always returned to answer whether a trait is exported.

Closes #11224
Closes #11225
Mark provided methods in dead-code pass
Update RELEASES.txt for 0.9
Don't leave lingering files in doc tests

Closes #11234
Fix usage of rustc --ls on invalid files

Closes #11259
Add byteswap intrinsics for converting from big/little to host endian

These are similar to the ntoh[s|l] functions in C and have the style of
from_[be|le][16|32|64].
libnative: Use [from|to]_be16 instead of bswap16
libextra: Use from_be32 instead of bswap32 in vuint_at()

Also use the fast version of vuint_at() on all architectures since it now
works on both big and little endian architectures.
Remove `extern mod foo (name="bar")` syntax, closes #9543
Recognize LLVM 3.4 when building on opensuse with --llvm-root specified.
Add linting for `crate_type` attribute values.

This ensures that the `crate_type` attribute always contains a value,
and does not contain an invalid value.
Fix comment that's been wrong since ancient times (thanks, @jvns).
Fix typo in lint description.
auto merge of #11245 : alexcrichton/rust/issue-11225, r=pcwalton

Commit messages are a little more descriptive.
auto merge of #11246 : ktt3ja/rust/issue-11224, r=alexcrichton

Close #11224
auto merge of #11248 : brson/rust/0.9relnotes, r=alexcrichton