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
uv: Remove lots of uv/C++ wrappers
uv: Provide a helper fn to Result<(), IoError>
uv: Remove closure-based home_for_io for raii

Using an raii wrapper means that there's no need for a '_self' variant and we
can greatly reduce the amount of 'self_'-named variables.
Migrate uv timer bindings away from ~fn()
Migrate uv process bindings away from ~fn()
Migrate uv signal handling away from ~fn()
Remove usage of ~fn() from uv async/idle
Remove usage of ~fn from the scheduler
Fixing rebase conflicts and such

This cleans up the merging of removing ~fn() and removing C++ wrappers to a
compile-able and progress-ready state
Start migrating stream I/O away from ~fn()
Migrate uv file bindings away from ~fn()
Migrate uv getaddrinfo away from ~fn()