Remove thread-blocking call to `libc::stat` in `Path::stat`

Fixes #9958
Merge remote-tracking branch 'upstream/master'
Made uv_stat_t.{st_dev, st_ino} public, #9958
auto merge of #10022 : hatahet/rust/master, r=alexcrichton

Fixes #9958
register snapshots
auto merge of #10032 : thestinger/rust/snapshot, r=huonw
mark some functions as returning !

Closes #10023
drop unused `frame_address` intrinsic

Closes #10001
auto merge of #10040 : thestinger/rust/frame_address, r=alexcrichton

Closes #10001
rust / build: make install should use explicit permissions when creating directories

Closes #10046
auto merge of #10042 : thestinger/rust/fail, r=sanxiyn

Closes #10023
extra: Add getter methods to extra::rational::Ratio

After merging 0ada7c7, user code have not been able to access to `Ratio`'s numerator and denominator fields.
In some algorithms, it is needed to get an rational number's numerator or denominator, but keeping these fields private is necessary for guaranteeing that `Ratio` numbers are irreducible.
So, I added the getter methods `numer()` and `denom()`.

As a bonus, this commit adds utility methods relating to the ratio-integer conversion.
Cleaned, documented, wrote tests for up std::bool
Removed unused import warning in std::mem and cleaned it up too

Removed is_true and is_false from std::bool

Removed freestanding functions in std::bool
auto merge of #10007 : Kimundi/rust/add_docs_01, r=cmr

Additionally:
- Sorted the prelude reexports
- Removed unused import warning in std::mem and cleaned it up too

(I was bored :ghost: )
libextra: Make arc clone inline
libextra: Make arc::get and arc::new inline too.

Should be a 2x improvement in a Servo test case.
Implement io::net::unix
Finish implementing io::net::addrinfo

This fills in the `hints` structure and exposes libuv's full functionality for
doing dns lookups.
Address a few XXX comments throughout the runtime

* Implement Seek for Option<Seek>
* Remove outdated comment for io::process
* De-pub a component which didn't need to be pub
Remove unbound pipes from io::pipe

This isn't necessary for creating processes (or at least not right now), and
it inherently attempts to expose implementation details.