[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
Remove `extern mod foo (name="bar")` syntax, closes #9543
Recognize LLVM 3.4 when building on opensuse with --llvm-root specified.
Inject std libs with versions
auto merge of #11266 : lyuts/rust/opensuse_build, r=brson

Minor change for configuration script allows to build rust on openSUSE with using llvm installed from repos.
auto merge of #10696 : fhahn/rust/issue9543-remove-extern-mod-foo, r=pcwalton

This patch for  #9543 throws an `obsolete syntax` error for `extern mod foo (name="bar")` . 
I was wondering if [this](https://github.com/fhahn/rust/compare/mozilla:master...fhahn:issue9543-remove-extern-mod-foo?expand=1#diff-da9d34ca1d0f6beee2838cf02e07345cR4444) is the correct place to do this?

I think the wording of the error message could probably be improved as well.

If this approach is OK, I'm going to run the whole test suite tomorrow and update the old syntax to the new one.
libsyntax: Make the parser mutable
libsyntax: De-`@mut` `quote_depth` in the parser
libsyntax: De-`@mut` `token` in the parser
libsyntax: De-`@mut` `Parser::span`
libsyntax: De-`@mut` `Parser::last_span`
libsyntax: De-`@mut` `Parser::last_token`
libsyntax: De-`@mut` `Parser::buffer`
libsyntax: De-`@mut` `Parser::buffer_start` and `Parser::buffer_end`
libsyntax: De-`@mut` `Parser::tokens_consumed`
libsyntax: De-`@mut` `Parser::restriction`
libsyntax: De-`@mut` `Parser::obsolete_set`
libsyntax: De-`@mut` `Parser::mod_path_stack`
libsyntax: De-`@mut` `Parser::open_braces`
libsyntax: Remove increasingly inaccurate comment