Spawn new tasks onto the primary scheduler by default. #3760
Add at_exit function #4450
core: Add private global data interface. #3915
Add `finally` method for deferred execution
core: Add new weak task API
core: Convert getenv/setenv to use a mutex

This much simpler implementation uses a global mutex
and eliminates the kernel environment channel.
std: Convert uv_global_loop to use pipes
core: Remove private::chan_from_global_ptr. #3915
Remove old comm-based weak task interface
core: Stop using oldcomm
Stop using oldcomm in uv_global_loop tests
Merge remote-tracking branch 'brson/nocommupstream'

Conflicts:
	src/libcore/private.rs
	src/libcore/task/mod.rs
	src/libcore/task/spawn.rs
	src/libstd/net_tcp.rs
	src/libstd/uv_global_loop.rs
	src/libstd/uv_iotask.rs
Merge remote-tracking branch 'brson/nocommupstream2'