Move `position` and `rposition` methods to `ImmutableVector` trait
libstd: impl Num for BigUint/BigInt
Update .gitignore
libstd: impl `Orderable` for `BigUint`/`BigInt`
libstd: `Rational` requires `Integer` as type bounds instead of `Num`
libstd: `Ratio` requires `Clone` instead of `Copy`

This allows creating `Ratio<T>` which `T` is non-implicitly copyable types
such as `BigInt`.
libstd: Add tests for BigRational
Replace shared/unique by managed/owned in the tutorial
Get unit tests for rusti working

* They didn't work before, because the location of the tests caused the
  'sysroot' option to crate lookup to be wrong for finding the correct stage's
  core/std libraries. This moves the compiled tests from the $host/test
  directory into a $host/$stage/test directory. This means that the sysroot will
  be correct and the core/std libraries can actually be found
* The LLVM bindings apparently aren't threadsafe, so we can't run multiple tests
  in parallel.
Fix `use` statements with rusti
Add regression tests for various other rusti issues
Don't emit common warnings in rusti
Fix rustpkg tests now that they're in a different location
auto merge of #6467 : alexcrichton/rust/better-rusti, r=bstrie

These few commits address a few existing issues:

* #5469 - adding regression tests for `rusti`. This adds unit tests to the `rusti.rc` file (which needed some reorganization of the Makefile, see the first commit message). These are super-simple right now, and sadly can't test the output of the tests. I worked for a bit on making a compiletest version of the rusti tests, but I ended up hitting something which blocked me, although I've forgotten it by this point.
* #5937 - regression test added, and it's fixed
* #5803 - just doesn't appear to happen any more
* #5784 - it's no longer broken, and it no longer spits out warnings about unused variables.

I also did some investigation into #5774, and you may want to read the comment I left on the bug. The gist of the situation is that C++ exceptions across JIT code don't look like they're working, even though they [should be working](https://github.com/mozilla/rust/blob/3aa1122ec25d15a2a73a295f8298ad9c38b09a10/src/rustllvm/RustWrapper.cpp#L387). If anyone has any insight on this, that would be awesome!
Add inlining for iter_bytes for types used as hashmap keys

Not inlining these affects the hash table performance quite badly.
Ignore two failing flatpipes tests
auto merge of #6479 : brson/rust/flatpipes, r=brson
testsuite: Update and un-xfail unsafe-fn-autoderef
Add Scheme-style `cond!` macro to syntax::ext::expand

Addresses issue #6037
auto merge of #6468 : gifnksm/rust/rposition-immutable, r=brson

`position` and `rposition` belonged to `ImmutableCopyableVector`, but they don't need the value is copyable.