Add #[inline] to impl Zero for ()

Follow-up to #8155
auto merge of #8404 : stepancheg/rust/zero-unit-inline, r=alexcrichton

Follow-up to #8155
add intrinsics for checked overflow add/sub/mul
disable 64-bit CheckedMul on 32-bit

code generation problem reported as issue #8449
vec: optimize the Add implementation

before:

test add ... bench: 164 ns/iter (+/- 1)

after:

test add ... bench: 113 ns/iter (+/- 2)
str: optimize `with_capacity`

before:

test bench_with_capacity ... bench: 104 ns/iter (+/- 4)

after:

test bench_with_capacity ... bench: 56 ns/iter (+/- 1)
move `strdup_uniq` lang item to std::str
fix unused imports
auto merge of #8408 : thestinger/rust/checked, r=Aatch
auto merge of #8412 : thestinger/rust/vector-add, r=alexcrichton
Remove @io::Writer from sys/repr/reflect

At the same time, this updates the TyVisitor to use a mutable self because it's
probably going to be mutating state as it goes along anyway.
Move intrinsics out of the compiler if possible
Remove unused intrinsics from the compiler
Remove offset_inbounds but make offset mean the same thing