Convert between BigInts and BigUints
Forgot to make accept() home for IO
Make I/O tests use run_in_mt_newsched_task to get more multi-threaded test coverage
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.
Fix pretty-printing of empty impl items
Convert between BigInts, BigUints, ints, and uints

Previously, conversion to ints, uints, and BigUints clamped the value
within the range of that datatype. With this commit, conversion
overflows fail the task. To handle overflows gracefully, use the new
to_*_opt() methods.
Don't fail in TcpStream.flush
extra: use a mutex to wrap linenoise calls and make them threadsafe.

Fixes #3921.
extra: stop rl from leaking each line that is read.
extra: improvements & bug fixes to rl.

- Removes a layer of indirection in the storage of the completion
  callback.
- Handles user tab completion in a task in which `complete` hasn't been
  properly. Previously, if `complete` was called in one task, and `read`
  called in another, attempting to get completions would crash. This
  makes the completion handlers non-ambiguously task-local only.
- Fix a mismatch in return values between the Rust code and linenoise.
Add a test for extra::rl.

This test has to be run by a human, to check inputs etc. Fortunately, it
won't bitrot (syntactically, or type-check-ly; it might bitrot
semantically), as it is designed so that the test runner compiles it with
`--cfg robot_mode`, which is used to disable the actual running of code.
auto merge of #9039 : singingboyo/rust/update-for-expr-docs, r=thestinger

The old documentation for for loops/expressions has been quite wrong since the change to iterators.  This updates the docs to make them relevant to how for loops work now, if not very in-depth.  There may be a need for updates giving more depth on how they work, such as detailing what method calls they make, but I don't know enough about the implementation to include that.
auto merge of #8999 : anasazi/rust/multi-threaded-io-tests, r=brson

Resolves #8685
Properly encode/decode structural variants.
Rename encode_struct_field_names to encode_struct_fields to reflect what it actually does
Add a test for cross-crate struct variants
Replace dashes in the filenames of the new tests with underscores to avoid issues with Windows
Fix whitespace in tests
xfail-fast the new test for windows compatibility