Some improvements to the Cargo compiler file.
Use rustc's errorformat and add option to specify permanent parameters.
Updates based on kballard's feedback.
Add tests for E-needstest issues
Translate SIMD construction as `insertelement`s and a single store.

This almost completely avoids GEPi's and pointer manipulation,
postponing it until the end with one big write of the whole vector. This
leads to a small speed-up in compilation, and makes it easier for LLVM
to work with the values, e.g. with `--opt-level=0`,

    pub fn foo() -> f32x4 {
        f32x4(0.,0.,0.,0.)
    }

was previously compiled to

    define <4 x float> @_ZN3foo20h74913e8b13d89666eaaE() unnamed_addr #0 {
    entry-block:
      %sret_slot = alloca <4 x float>
      %0 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 0
      store float 0.000000e+00, float* %0
      %1 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 1
      store float 0.000000e+00, float* %1
      %2 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 2
      store float 0.000000e+00, float* %2
      %3 = getelementptr inbounds <4 x float>* %sret_slot, i32 0, i32 3
      store float 0.000000e+00, float* %3
      %4 = load <4 x float>* %sret_slot
      ret <4 x float> %4
    }

but now becomes

    define <4 x float> @_ZN3foo20h74913e8b13d89666eaaE() unnamed_addr #0 {
    entry-block:
      ret <4 x float> zeroinitializer
    }
rustc: Support stability attributes on crates

This commit adds support for linting `extern crate` statements for stability
attributes attached to the crate itself. This is likely to be the mechanism used
to deny access to experimental crates that are part of the standard
distribution.

cc #18585
Added check for absolute file path, removed hard tab, and added documentation for new option.
std::error: fix stray doc comment
test: correct spelling error & inverted match.
librustc_back: Fix triple for linux armhf.
librustc: Call return_type only for functions.
Make trans::adt know that some structs are unsized
Test
Added ToSocketAddr trait

This commit adds ToSocketAddr trait to std::io::net::ip module. This
trait is used for generic conversion from different types (strings,
(string, u16) tuples, etc.) into a SocketAddr instance. It supports
multiple output SocketAddresses when it is appropriate (e.g. DNS name
resolution).

This trait is going to be used by TcpStream, TcpListener and UdpSocket
structures.
Switched io::net::tcp to use ToSocketAddr

TcpListener and TcpStream are converted to use ToSocketAddr trait in
their constructor methods.

[breaking-change]
Migrated io::net::udp over to ToSocketAddr

UdpSocket constructor methods now use ToSocketAddr trait instead of
SocketAddr.

[breaking-change]
Fixed other tests to pass make check
Fixed tidy errors
Added more documentation on ToSocketAddr trait
debuginfo: Make LLDB test make targets dependent on lldb python scripts.