configure: Move clang's libcpp out into flag
configure: Only use -m32 on x86-* 32 bit systems
configure: setup triples on hf arm platforms
Move trait impls for primitives near trait definition

Closes #12925
auto merge of #13738 : buttslol/rust/armv7-support, r=alexcrichton

This was required to get ./configure to work on my armv7 test machine.

I haven't found anything sane to feature gate `hf` on that's pokable from the context of the configure script.

It also seems that gcc doesn't work on armv7 by default (rust wants to pass it `-m32` which isn't supported), would it be preferential to make the default `--enable-clang` on arm, or remove the `-m32` flag on that platform?
auto merge of #14464 : Sawyer47/rust/issue-12925, r=alexcrichton

This is an attempt of fixing #12925.

This PR moves almost all trait implementations for primitive types ((), bool, char, i*, u*, f*) near trait definitions. Only Float trait implementations weren't moved because they heavily rely on constants defined in f32.rs and f64.rs.

Some trait implementations had cfg(not(test)) attribute. I suspect it's because of issue 2912.
Still, someone who knows the problem better should probably check this code.

Closes #12925