Check unnecessary visibility for struct variants
remove rust and rusti from driver.rs
std::fmt: fix markdown peculiarity, unicodify some arrows, ` some trait names.
auto merge of #9949 : Heather/rust/driver-rs-cleanup-pullrequest, r=thestinger
auto merge of #9952 : huonw/rust/fmt-doc, r=alexcrichton

Cf. the concern raised in https://github.com/mozilla/rust/pull/9938#issuecomment-26648696.
auto merge of #9956 : sfackler/rust/more-more-visibility, r=alexcrichton
Fix unicode errors on Windows in path_is_dir, path_exists, getcwd and rust_localtime.

This make these functions use wchar_t version of APIs, instead of char version.
testsuite: test for fixed issue. Closes #7580.

Fixed by the privacy changes that allowed the `mod std {}` at the top
level of `std` to be non-`pub`.
auto merge of #9973 : huonw/rust/7580, r=luqmana

Fixed by the privacy changes that allowed the `mod std {}` at the top
level of `std` to be non-`pub`.
auto merge of #9812 : HNO3/rust/windows-utf8, r=alexcrichton

This fixes #9418 and #9618, and potential problems related to directory walking.
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.
Move rt::io::stdio from FileStream to a TTY

We get a little more functionality from libuv for these kinds of streams (things
like terminal dimentions), and it also appears to more gracefully handle the
stream being a window. Beforehand, if you used stdio and hit CTRL+d on a
process, libuv would continually return 0-length successful reads instead of
interpreting that the stream was closed.

I was hoping to be able to write tests for this, but currently the testing
infrastructure doesn't allow tests with a stdin and a stdout, but this has been
manually tested! (not that it means much)
Migrate Rtio objects to true trait objects

This moves as many as I could over to ~Trait instead of ~Typedef. The only
remaining one is the IoFactoryObject which should be coming soon...
Remove rt::io::support

This removes the PathLike trait associated with this "support module". This is
yet another "container of bytes" trait, so I didn't want to duplicate what
already exists throughout libstd. In actuality, we're going to pass of C strings
to the libuv APIs, so instead the arguments are now bound with the 'ToCStr'
trait instead.

Additionally, a layer of complexity was removed by immediately converting these
type-generic parameters into CStrings to get handed off to libuv apis.
Remove IoFactoryObject for ~IoFactory

This involved changing a fair amount of code, rooted in how we access the local
IoFactory instance. I added a helper method to the rtio module to access the
optional local IoFactory. This is different than before in which it was assumed
that a local IoFactory was *always* present. Now, a separate io_error is raised
when an IoFactory is not present, yet I/O is requested.
Don't attempt to export uv functions directly
Migrate the last typedefs to ~Trait in rtio

There are no longer any remnants of typedefs, and everything is now built on
true trait objects.