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.
Generate random BigUints and BigInts
test the correct function (oops)
Convert between BigInts and BigUints
Fix Acceptor iterator ending early if a connection attempt fails
Forgot to make accept() home for IO
Make I/O tests use run_in_mt_newsched_task to get more multi-threaded test coverage
Incorporate feedback from huonw

- use identifiers with underscores to avoid unused variable warning
- implement on R: Rng instead of on R: RngUtil
- bugfix: zero BigInts were being generated twice as often as any
  other number
- test that gen_biguint(0) always returns zero
Add with_mem_writer to std::rt::io::mem.

This is in many ways a replacement for the current
std::io::with_str_writer.
Update for_expr docs.
Give the libuv makefile generation a dependency

This way the rule isn't always built whenever you fire off a new build
Moved checked trait impls out of std::num

This follows the same pattern as the other numeric trait impls, and reduces the clutter in std::num.
Add Clone and DeepClone constraints to Primitive trait
Fix unused import warnings on 32bit systems
Fix pretty-printing of empty impl items
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
auto merge of #9059 : Kimundi/rust/master, r=huonw

- Marked a unsafe helper function as unsafe, added a second helper function
- Added moving implementations