Remove the __log function for __log_level

Also redefine all of the standard logging macros to use more rust code instead
of custom LLVM translation code. This makes them a bit easier to understand, but
also more flexibile for future types of logging.

Additionally, this commit removes the LogType language item in preparation for
changing how logging is performed.
Fix Acceptor iterator ending early if a connection attempt fails
Give the libuv makefile generation a dependency

This way the rule isn't always built whenever you fire off a new build
workcache: Add the ability to save and load the database...

...as well as the ability to discover inputs and outputs.
rustpkg: Use workcache

rustpkg now uses the workcache library to avoid recompilation.
Hooray!
extra: Address review comments from Jack
rustpkg: Address review comments from Jack
Add test for issue #8587, about calling nested functions of the same name
Implement bitwise operations on BigUint
auto merge of #9005 : alexcrichton/rust/rusty-log, r=brson

Also redefine all of the standard logging macros to use more rust code instead
of custom LLVM translation code. This makes them a bit easier to understand, but
also more flexibile for future types of logging.

Additionally, this commit removes the LogType language item in preparation for
changing how logging is performed.
add `noalias` attribute to ~ return values
auto merge of #9033 : alexcrichton/rust/libuv-makefile-dep, r=brson

This way the rule isn't always built whenever you fire off a new build
auto merge of #9071 : thestinger/rust/noalias, r=alexcrichton

This also removes a FIXME I added referring to a now closed issue.
librustc: Port writeback to the new API.
auto merge of #9083 : dcrewi/rust/biguint-bit-ops, r=brson
auto merge of #9089 : anasazi/rust/fix-acceptor-iterator, r=cmr

The iterator over incoming connections has no natural end, so it should always return Some(_).
Currently, if an incoming connection fails, the iterator returns None.
Trying to accept another connection afterwards enters the realm of undefined behavior (due to the iterator protocol being silent on the issue).

This PR changes wraps the underlying accept call in Some, so the iterator never finishes.
auto merge of #9086 : pcwalton/rust/writeback-port, r=brson

r? @brson or @pnkfelix
auto merge of #9034 : catamorphism/rust/rustpkg-workcache, r=metajack

r? @metajack or @brson - This pull request makes rustpkg use the workcache library to avoid recompilation.
std::vec: Change fn unzip to take an iterator argument

Remove unzip_slice since it's redundant. Old unzip is equivalent to the
`|x| unzip(x.move_iter())`
ident->name in middle