Add a lint to detect unnecessarily qualified names
Implement SIMD arithmetics
Change the assert_eq message to be more verbose.

Closes #6221
fix test
Add a compile-fail test for qualification lint
transmute: Avoid double copy for immediate values

Currently, immediate values are copied into an alloca only to have an
addressable storage so that it can be used with memcpy. Obviously we
can skip the memcpy in this case.
char_range_at perf work

Moves multibyte code to it's own function to make char_range_at
easier to inline, and faster for single and multibyte chars.

Benchmarked reading example.json 100 times, 1.18s before, 1.08s
after.
Optimize is_utf8

Manually unroll the multibyte loops, and optimize for the single
byte chars.
Add is_utf8 bench tests

Before:
is_utf8_ascii:          272.355162 ms
is_utf8_multibyte:      167.337334 ms

After:
is_utf8_ascii:          218.088049 ms
is_utf8_multibyte:      134.836722 ms
Enable large stacks on 64-bit architectures
Improve the error messages for mismatched numbers of type params.
Fix the handling of type params on generic static methods. Closes #7571.
Fix another default method ICE in type_use. Closes #7675.

Also reworks a bunch of type_use to make things work for default
static methods soon.
Clean up Repr impls a bit so we can add generic impls for @ and ~.
Normalize self types for monomorphization.
Get static default methods working in the non-cross-crate case. Work on #7569.
Get cross crate static default methods working. Closes #7569.
Drop a now unnecessary argument from maybe_instantiate_inline.
Take default methods out from behind the flag.
Make Bitv::eq_vec take ~[bool] rather than ~[uint]

Fixes #7711.