ARM C ABI implementation
auto merge of #5115 : sanxiyn/rust/arm-abi, r=brson

Type size and alignment code needs to be factored, but I didn't want to interfere with MIPS port. Can be done later.

Fix #4797.
libsyntax: Forbid `~mut` and `~const`. rs=demuting
libsyntax: Forbid mutable vectors. rs=demuting
librustc: Forbid `pub` or `priv` before trait implementations