[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
Mark provided methods in dead-code pass
Update RELEASES.txt for 0.9
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 #11246 : ktt3ja/rust/issue-11224, r=alexcrichton

Close #11224
auto merge of #11248 : brson/rust/0.9relnotes, r=alexcrichton
auto merge of #11265 : c-a/rust/byteswap_from, r=alexcrichton

This patchset adds intrinsics similar to the to_[be|le][16|32|64] intrinsics but for going in the reverse direction, e.g. from big/little endian to host endian. Implementation wise they do exactly the same as the corresponding to_* functions but I think it anyway make sense to have them since using the to_* functions in the reverse direction is not entirely intuitive.

The first patch adds the intrinsics and the two following changes instances of bswap* to use the [to|from]_* intrinsics instead.
auto merge of #11268 : lkuper/rust/trans-comment, r=pcwalton
auto merge of #11269 : am0d/rust/lint_typo, r=sanxiyn