syntax: correct the Rand::rand call to select enum variants in #[deriving(Rand)].

Previously, this was not a global call, and so when `#[deriving(Rand)]`
was in any module other than the top-level one, it failed (unless there
was a `use std;` in scope).

Also, fix a minor inconsistency between uints and u32s for this piece
of code.
syntax: revert the uint -> u32 "fix"; make the names/comment match.
xfail test on windows, because extern mod doesn't work there
update the libstd docstring for the rename
Revert "Revert "Remove all usage of the global LLVMContextRef""

This reverts commit 541c657a738006d78171aa261125a6a46f283b35.
Revert "Revert "Have JIT execution take ownership of the LLVMContextRef""

This reverts commit 19adece68b00bd1873499cca6f1537750608d769.
Correctly parse commands for rusti

Closes #7120
Don't run passes again on JIT code

These passes are already run beforehand, no need to do them twice.
Resolve LLVM crashing in rustpkg tests
add IteratorUtil to the prelude
rm ExtendedMutableIter

replaced with `xs.mut_iter().enumerate()`
rm MutableIter

replaced with mutable implementations of Iterator
rm CopyableNonstrictIter

copies can just be done explicitly: `xs.transform(|x|x.clone())`
auto merge of #7110 : thestinger/rust/iterator, r=brson
auto merge of #7121 : huonw/rust/rand-call, r=pnkfelix

r? @pnkfelix
auto merge of #7122 : thestinger/rust/std, r=luqmana
auto merge of #7125 : alexcrichton/rust/rusti-issues, r=brson

This un-reverts the reverts of the rusti commits made awhile back. These were reverted for an LLVM failure in rustpkg. I believe that this is not a problem with these commits, but rather that rustc is being used in parallel for rustpkg tests (in-process). This is not working yet (almost! see #7011), so I serialized all the tests to run one after another.

@brson, I'm mainly just guessing as to the cause of the LLVM failures in rustpkg tests. I'm confident that running tests in parallel is more likely to be the problem than those commits I made.

Additionally, this fixes two recently reported issues with rusti.
Move trans mod items into trans/mod.rs
Move CrateContext into it's own file
Make CrateContext::new() fn.

Move construction of a CrateContext into a static method on
CrateContext.