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
Deny warnings in stage1+ libsyntax/librustc/librustdoc/librusti/librust
Deny warnings in tests