Move bundled gcc and its libs out into $rust/rustlib/<triple>/gcc/(bin|lib).  This way the libs won't be on the -L library search path, and won't confuse external gcc, if one is used.  The bundled gcc itself will still be able to find them, because it searches for libs relative to own install location.
Prefer bundled gcc.  External gcc can still be used if one provides a full path via -Clinker=...
Minor grammar fixes.
auto merge of #17420 : anchovieshat/rust/grammar, r=huonw

Fix grammar (double "note") in situations like:

src/reader/events.rs:120:5: 120:25 **note: note** conflicting type here
src/reader/events.rs:120     Error(common::Error)
Move -Z lto to -C lto.

Closes #12443
auto merge of #17421 : anchovieshat/rust/move_lto, r=thestinger

Closes #12443
auto merge of #17412 : vadimcn/rust/gccpref, r=alexcrichton

Fixes #17251
Fix sigaction on OS X
Print stack overflow messages for Windows, Linux and OS X