Typeck: Disallow scalar casts to bare_fn.

Bare functions are another example of a scalar but non-numeric
type (like char) that should be handled separately in casts.
This disallows expressions like `0 as extern "Rust" fn() -> int;`.

It might be advantageous to allow casts between bare functions
and raw pointers in unsafe code in the future, to pass function
pointers between Rust and C.

Closes #8728
doc: switch pandoc to html5
doc/rust.HTML: proper version box
Use updated local declaration syntax.
doc: tidy and cleanup CSS deps, add tutorial PDF generation
doc: expand tutorial/manual CSS

Cleanup, edit, add some Bootstrap v3.0.0 elements.
rustdoc: nitpicks & cleanup
doc: fix links to comply with the new rustdoc

Closes #9911.
expose new floating point intrinsics

copysign, ring, nearbyint, round
Add a feature flag for ASM
auto merge of #9991 : LeoTestard/rust/asm-feature-gate, r=huonw

Fixes #9882
Note that the actual checking code is inside a if false in order to compile libstd properly.
libstd uses asm! in rt. If we put ```#[feature(asm)]``` in libstd, it fails to build at stage0 beacause the
asm feature is not known yet by the snapshot compiler.
We must wait that this PR arrives into the snapshot in order to actually activate the checking code.
Make fn pub for windows compatibility
auto merge of #9986 : thestinger/rust/float, r=cmr

copysign, ring, nearbyint, round
Remove rusti reference from pp.mk
Propagate reachability through reexported impls

When re-exporting a trait/structure/enum, then we need to propagate the
reachability of the type through the methods that are defined on it.

Closes #9906
Closes #9968
rustpkg: Search for crates in the current directory

As per #8520, find crates in the current working directory even
if it's not a workspace.

Closes #8520
rustdoc: Don't overflow long type/module names

Closes #9862
auto merge of #9736 : catamorphism/rust/rustpkg-issue-8520, r=cmr

r? @cmr As per #8520, find crates in the current working directory even
if it's not a workspace.

Closes #8520
fix the new floating point intrinsics
Register snapshots