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
Create epub versions of tutorial and ref manual.

Pandoc can create epub verions of the markdown files. Since the docs
are lengthy, epubs are handy to have around. Two rules to create epub
versions of the reference manual and the main tutorial are added here.

Signed-off-by: Noufal Ibrahim <noufal@nibrahim.net.in>
tagging issue number(#10381)
disable tests on android since tcp/ip permission cannot be acquired without help of apk
temporarily disable tests on android and tagging issue number #10378
temporarily disable tests on android and tagging issue number #10379
temporarily disable tests on android and tagging issue number #10380
temporarily disable tests on android and tagging issue number #10393
extra::getopts: update docs for minor renaming.
Remove a debug! statement before I/O is ready

The logging macros all use libuv-based I/O, and there was one stray debug
statement in task::spawn which was executing before the I/O context was ready.
Remove it and add a test to make sure that we can continue to debug this sort of
code.

Closes #10405
auto merge of #10399 : huonw/rust/get-opt-doc, r=alexcrichton
Only run dsymutil on OSX in debug builds

When there are no debug symbols generated, then the program just prints an
annoying warning otherwise.

Closes #10198
auto merge of #10226 : nibrahim/rust/docepub, r=alexcrichton

Added two new rules to create epubs out of the tutorial and reference manual source files. This is useful and doesn't add any new dependencies to the build process.
auto merge of #10406 : alexcrichton/rust/issue-10405, r=huonw

The logging macros all use libuv-based I/O, and there was one stray debug
statement in task::spawn which was executing before the I/O context was ready.
Remove it and add a test to make sure that we can continue to debug this sort of
code.

Closes #10405
Register new snapshots
Enable uv pipe tests on windows

Turns out the pipe names must have special names on windows. Once we have
special names, all the tests pass just fine.

Closes #10386
auto merge of #10408 : alexcrichton/rust/snapshots, r=huonw

Mostly just using the `system` abi where possible.
Clean lint on test build
vec: with_capacity: check for overflow

Fixes #10271
Implement `size_hint` for Range

Closes #8606