Switched bitv to external iterators
Derive Clone for bitv stuff
Removed unecessary indirection in Bitv

BitvVariant is the same size as it was before (16 bytes).
Added iterator tests
Added bitv iterator benchmarks
Eliminated SmallIntSet

SmallIntSet is equivalent to BitvSet but with 8 times the memory
overhead. There's no reason for it to exist.
Minor cleanup of hashmap
Cleanup libsyntax a bit
std: add RtioTimer and UvTimer impl atop rt::uv
std: add rt::io::Timer
std: minor timer cleanup based on feedback
std: make check appeasement
std: fix for blocked task resume
auto merge of #7916 : olsonjeffery/rust/newrt_timer, r=brson

My first bit of newsched IO work. Pretty simple and limited in scope.

the RtioTimer trait only has a `sleep(msecs: u64)` method, for now. Taking requests on what else ought to be here.

oh yeah: this resolves #6435
auto merge of #7703 : sfackler/rust/bitv, r=alexcrichton

Switched Bitv and BitvSet to external iterators. They still use some internal iterators internally (ha).

Derived clone for all Bitv types.

Removed indirection in BitvVariant. It previously held a unique pointer to the appropriate Bitv struct, even though those structs are the size of a pointer themselves. BitvVariant is the same size (16 bytes) as it was previously.
auto merge of #7873 : sstewartgallus/rust/cleanup_syntax, r=alexcrichton
auto merge of #7875 : sstewartgallus/rust/fubar, r=alexcrichton
auto merge of #7934 : sfackler/rust/smallintset, r=alexcrichton

SmallIntSet is equivalent to BitvSet but with 64 times the memory
overhead. There's no reason for it to exist.

SmallIntSet's overhead should really only be 8 times, but for some
reason, `sys::size_of::<Option<()>>() == 8`, not 1.