Issue the correct deref count for the implicit deref that occurs
as part of an autoslice operation (#6272).

Fixes #6272.
Remove remnants of mutable fields from mem_categorization, borrowck.
auto merge of #6373 : nikomatsakis/rust/issue-6355-perf-regression, r=graydon

Fix #6355 and #6272---we were not giving the correct index to the derefs that occur as part of the rooting process, resulting in extra copies and generally bogus behavior. Haven't quite produced the right test for this, but I thought I'd push the fix in the meantime. Test will follow shortly.

r? @graydon
core::rt: Remove Close trait

We will just use RAII for now.
core::rt: Fix a warning about unnecessary mutable variable
core::rt: Begin implementing TcpStream

This ended up touching a lot of code related to error handling.
core::rt: Clean up the interface to rtio

Make names that better match rt::io. Return error types.
core::rt: Improve docs
core::rt Restructure some modules

Put all uv code under rt::uv, as if it were in its own crate.
Pull local_sched out of rt::sched.
core::rt: Use unsafe pointers instead of transmuted regions
core::rt: Fix the finalizer on UvTcpStream and UvTcpListener

Eliminates a lot of calls to `close`
core::rt: Fix some copies in uv
core::rt: Convert some uv functions to extension methods
core::rt: Reording code
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