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
Added octal literal support.
Grammar error and vim syntax highlighting mistake fixed.
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>
Added skeleton implementation of a B-tree with a few bells and
whistles.  No major functionality added yet (such as insertion and
removal).
rt: Convert timezone to utf-8 on Windows

Previously #9418 fixed utf-8 assertion issue by wcsftime,
but the function didn't work as expected: it follows the locale
set by setlocale(), not the system code page.
This patch fixes it by manual multibyte-to-unicode conversion.
Re-arranging some things in btree.rs to accommodate testing.
Added positive tests for integer literal base interpretation.
update for ndk r9b
Addressed style concerns in btree.rs and added it to the lib file.
Added documentation within btree.rs.
Add ~ to the list of allowable URL characters.
std::ascii: Provide a copyless [Ascii] -> str method.

This renames to_str_ascii to as_str_ascii and makes it non-copying,
which is possible now that strings no longer have a hidden extra
byte/null terminator.

Fixes #6120.
Edited comment for docs to show std::io is deleted and replaced by std::rt::io
auto merge of #10335 : ksh8281/rust/update_for_ndk_r9b, r=brson

update for ndk r9b (#10323)

````
Android NDK, Revision 9b (October 2013)
Important changes:
Updated include/android/*h and math.h for all Android API levels up to 18, 
including the addition of levels 13, 15, 16 and 17. 
For information on added APIs, 
see commit messages for Changes 68012 and 68014. (Issues 47150, 58528, and 38423)
````

https://android-review.googlesource.com/#/c/68014/
auto merge of #10243 : mattcarberry/rust/master, r=brson

Associated with Issue #6563.

Useful for Apollo Guidance Computer simulation, Unix file system permissions, and maybe one or two other things.
std: Make atomic types non-copyable. Closes #8380
auto merge of #10333 : huonw/rust/ascii, r=alexcrichton

This renames to_str_ascii to as_str_ascii and makes it non-copying,
which is possible now that strings no longer have a hidden extra
byte/null terminator.

Fixes #6120.
auto merge of #10340 : eholk/rust/url, r=brson

According to http://tools.ietf.org/html/rfc3986, ~ is a legal character in URLs.
extra::time: Fix test on Windows

Closes #10307
auto merge of #10281 : klutzy/rust/rt-timezone, r=alexcrichton

Previously #9418 fixed utf-8 assertion issue by wcsftime,
but the function didn't work as expected: it follows the locale
set by setlocale(), not the system code page.
This patch fixes it by manual multibyte-to-unicode conversion.