Refactor libsyntax Visitor impls to use default methods.
Add Orderable bound to num::Primitive
Pass a more proper span to the syntax expanders

Closes #5794
Get rid of unused SimpleVisitor stuff.
std::rt: Add a standalone sleep function.
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
iter: fix range docstrings
Add SharedPort wrapper around rt::comm::SharedPort

SharedPort implementation was missing in std::comm. Since this module
also wraps SharedChan, it makes sense to have SharedPort defined there
as well.
iter: replace comment with a docstring
iter: move Counter impl to the proper place
auto merge of #9191 : huonw/rust/are-you-tired, r=cmr

Allows `std::rt::io::timer::sleep(1000)` rather than `std::rt::io::timer::Timer::new().unwrap().sleep(1000)`.
auto merge of #9198 : FlaPer87/rust/shared-port, r=cmr

SharedPort implementation was missing in std::comm. Since this module
also wraps SharedChan, it makes sense to have SharedPort defined there
as well.
iter: add `RangeStep` and `RangeStepInclusive`
Kill off method impls made redundant by default methods.
These impls, at least, can be avoided by deriving Ord.
auto merge of #9199 : thestinger/rust/range_step, r=cmr

My focus was on getting these to be correct in all cases by handling overflow properly. I'll clean them up and work on the performance later.
auto merge of #9200 : lkuper/rust/libsyntax-cleanup, r=luqmana
fix range_step{,_inclusive} with negative step