extra: improve the errors for the JSON Decoder.

Fixes #4244.
auto merge of #10625 : huonw/rust/json-errors, r=alexcrichton

Fixes #4244.
Use -O1 for non-GNU linkers
auto merge of #10633 : cmr/rust/linker_opts, r=thestinger

r? @Luqmana
Implement cmp traits for Rc<T> and add a ptr_eq method.
auto merge of #10634 : LeoTestard/rust/rc-eq, r=cmr
Fix issue #8763

* added case & better error message for "impl trait for module"
* used better way to print the module
* switched from //error-pattern to //~ ERROR
* added compile-fail test trait-impl-for-module.rs
* revised compile-fail test trait-or-new-type-instead
    (the error message for the modified test is still unclear, but that's a different bug)
* added FIXME to trait-or-new-type-instead
auto merge of #10475 : astrieanna/rust/issue8763, r=alexcrichton

Issue #8763 is about improving a particular error message.

* added case & better error message for "impl trait for module"
* added compile-fail test trait-impl-for-module.rs
* updated copyright dates
* revised compile-fail test trait-or-new-type-instead
   (the error message for the modified test is still unclear, but that's a different bug https://github.com/mozilla/rust/issues/8767)
libextra: Remove @mut from term.