core::rt: Only use one mechanism for attaching custom data to uv handles
core::rt: Move the implementation of IdleWatcher to its own file
core::rt: Move all the uv callback definitions to one place
core::rt: Just a small fix to TcpStream
core::rt Wire up logging to newsched tasks
Tidy
Warnings
core::rt: Add a very simple ref counted pointer
core::rt: Add a simple channel type for passing buffered messages between Scheduler and Task

Called 'Tube' for lack of anything better.
core::rt: Make TCP servers work
core::rt: 0 is a valid TLS key
rtdebug off
core: Cleanup warnings
core: Move unstable::exchange_alloc to rt::global_heap
core::rt: Docs
core::rt: Register stacks with valgrind. #6428
core::rt: Wait for handles to close
auto merge of #6471 : gifnksm/rust/reform-rational, r=brson

`std::ratio` module contains `BigRational` type, but the type is not usable by following reasons.
* `Ratio::new` requires `T: Copy + Num + Ord`, but `BigInt` is not implicitly copyable, because it contains unique vector.
* `BigInt` is not implements `Num`

So, I rewrite `Ratio` as follows.
* `Ratio` requires `T: Clone + Integer + Ord`.
  * `Copy` -> `Clone`: to be able to use `BigRational`
  * `Num` -> `Integer`: It is incorrect that a rational number constructed by two non-integer numbers.
* `BigInt` implements `Num` and `Orderable` which are required by `Integer` bound
Merge remote-tracking branch 'brson/io-upstream' into incoming

Conflicts:
	src/libcore/logging.rs
	src/libcore/rt/local_services.rs
	src/libcore/rt/uv/mod.rs
	src/libcore/rt/uv/net.rs
	src/libcore/rt/uv/uvio.rs
	src/libcore/unstable.rs
Better error reporting with renaming imports