Translate nested items in default methods

Closes #9123
std::rt::io: Fix file I/O on Win32

It was broken on win32 because of header inconsistency.
make ! support the equality/ordering operators

An expression such as `bottom == not_bottom` or `not_bottom == bottom`
already compiled, but this fixes the case where both sides are `bottom`.
Minor cleanup and formatting tweaks to the rust-mode README
Refactor libsyntax Visitor impls to use default methods.
syntax: Remove use of Either in parse.rs

The arg or capture type alias was actually never used for the capture
case, so the code is simplified with `Either<arg, ()>` replaced by `arg`
extra::test: Use Result instead of Either.

OptRes was combining a successful value with an error message, which
fits the Result type perfectly.
std::logging: Use a more specific enum than Either
extra::workcache: Remodel the (internal) struct Work

Using an enum with two cases for `Work` reveals simpler code than the
previous `Option<Either<X, Y>>` representation.
Add Orderable bound to num::Primitive
Pass a more proper span to the syntax expanders

Closes #5794
auto merge of #9162 : alexcrichton/rust/issue-9123, r=catamorphism

Closes #9123
auto merge of #9165 : klutzy/rust/newrt-file-fix, r=sanxiyn

It was broken on win32 because of header inconsistency.
auto merge of #9174 : thestinger/rust/bot, r=catamorphism

An expression such as `bottom == not_bottom` or `not_bottom == bottom`
already compiled, but this fixes the case where both sides are `bottom`.
std::rt: Add a standalone sleep function.
auto merge of #9178 : lkuper/rust/docs, r=catamorphism
auto merge of #9180 : blake2-ppc/rust/reduce-either, r=catamorphism

Work a bit towards #9157 "Remove Either". These instances don't need to use Either and are better expressed in other ways (removing allocations and simplifying types).
auto merge of #9181 : lkuper/rust/libsyntax-default-methods-refactor, r=alexcrichton

I'm getting the three `make check` failures mentioned in issue #9127, which I also get building master.
auto merge of #9182 : bjz/rust/master, r=brson

Somehow this was missed!

cc #4819
auto merge of #9183 : alexcrichton/rust/issue-5794, r=catamorphism

Closes #5794