Use more precise span when reporting semicolon hint

When reporting "consider removing this semicolon" hint message, the
offending semicolon may come from macro call site instead of macro
itself. Using the more appropriate span makes the hint more helpful.

Closes #13428.
doc: add webfonts and tweak the styles accordingly
mk: Pass exact compile to rustc on cross compiles

Instead of passing through CC which may have things like ccache and other
arguments (when using clang) this commit filters out the necessary arguments
from CC to pass the right linker to rustc.

Closes #13562
Added run_flags directive to `compiletest`

Now it is possible to specify run-flags in tests. For example, by using `run-flags: --bench` the Bencher is run.
doc: unifying with rustdoc

Conflicts:
	src/doc/rust.md
shootout-threadring rewrite

* simplify the code
* remove trace to satisfy official shootout test
* use libgreen to improve performances
auto merge of #13553 : aochagavia/rust/pr, r=alexcrichton

Now it is possible to specify run-flags in tests. For example, by using `run-flags: --bench` the Bencher is run.
auto merge of #13656 : TeXitoi/rust/shootout-threadring-rewrite, r=alexcrichton

* simplify the code
* remove trace to satisfy official shootout test
* use libgreen to improve performances
auto merge of #13631 : alexcrichton/rust/fix-mk-cross, r=brson

Instead of passing through CC which may have things like ccache and other
arguments (when using clang) this commit filters out the necessary arguments
from CC to pass the right linker to rustc.

Closes #13562
auto merge of #13435 : edwardw/rust/span, r=brson

When reporting "consider removing this semicolon" hint message, the
offending semicolon may come from macro call site instead of macro
itself. Using the more appropriate span makes the hint more helpful.

Closes #13428.
auto merge of #13587 : adrientetar/rust/more-docs, r=brson

- Use Fira Sans for headlines, Heuristica for the body (Adobe Utopia derivative). Both are licensed under the SIL OFL license. (I didn't include BoldItalic because it is sparingly used.)
- Split TOC into 2 columns for the docs except manual (too tall, too wide to be readable).
- Some fixes to rustdoc, bring styles in coherency with eachother
- A few tweaks

Two examples: [modified tutorial](http://adrientetar.legtux.org/cached/rust-docs/tutorial.htm) and [modified manual](http://adrientetar.legtux.org/cached/rust-docs/manual.htm).

Rustdoc got some fixes, here is [modified `enum.FileType`](http://adrientetar.legtux.org/cached/rust-docs/enum.FileType.htm), [modified `std`](http://adrientetar.legtux.org/cached/rust-docs/std.htm) and [modified `std::io`](http://adrientetar.legtux.org/cached/rust-docs/io.htm).

#13484, #13485 follow-up.

cc @brson
Fix ICE when reporting closure and proc mismatch

Closes #13599