core: Cleanup rt::context
Give core::rt and std::net their own uvll bindings

I intend to do some big refactoring and don't want to deal w/ std just now
core: Don't use printf in rtdebug!

The bots were showing a segfault that I can't reproduce. Assuming it's
varargs related so let's not use printf
core: Simplify uvll bindings and strip out currently-unused bits

No more mapping uv structs to Rust structs
core: Convert some multiline statements to single-line
core: Rename rt::io to rt::rtio

This is an internal interface. I want to use rt::io for public interfaces.
mk: If NO_REBUILD is set then don't rebuild core/std before testing

Can make turnaround of testing changes to core/std/syntax much faster.
core: Add rt::io and start sketching the API
core: Begin uv file system bindings
core: Refactor uv bindings

I can already see these are going to get massive. Putting them into multiple
files.
Add a way to run the test suite with the new scheduler

TESTARGS=--newrt make check-stage1-rpass

Conflicts:
	src/rt/rustrt.def.in
core: Initialize global state lazily in the Scheduler ctor

I don't want any global one-time initalization functions because
that will make embedding harder.
Merge remote-tracking branch 'brson/rt'

Conflicts:
	src/libcore/rt/context.rs
	src/libcore/rt/sched.rs
	src/libcore/rt/thread.rs
	src/libcore/rt/uv.rs
auto merge of #5409 : brson/rust/rt, r=brson

r?

There are a lot of commits here, but not all that much substance. Mostly just refactoring.

I started sketching out the beginnings of a very simple I/O API in `core::rt::io` that represents I/O streams as a single `Stream` trait instead of `Reader` / `Writer` pairs. This seems to be the more common pattern (at least this is how the .NET BCL does it) and it seems to me that separate readers and writers would make duplex streams very awkward. Regardless, I don't intend to go very far down the I/O API design road without some mailing list discussion.

I've also started on the uv bindings for file I/O but haven't gotten very far.

Also hooked up the new scheduler to `rust_start` and the compiletest driver. 70% of run-pass test cases already pass, but I wouldn't read too much into that.

I also split the direct, low-level uv bindings in two so that the scheduler can have its own set, leaving `std::net` on its own.