provide an error at  at configure time if gcc, and g++ point to a mixture of clang and gcc. Fixes issue #10959

Signed-off-by: Carter Tazio Schonwald <carter.schonwald@gmail.com>
auto merge of #10964 : cartazio/rust/gcc-detector, r=alexcrichton

 @alexcrichton and others: heres a proof of concept patch for configure that (for now is OS X only) checks at the very end of the configure script if ``cc``, ``gcc``, and ``g++`` possibly point to the same compiler or not.

The way its currently done is i call ```cc  --version```, ``gcc --version`` and ``g++ --version`` and check if theres any matchings for the word ``clang``, ``gcc`` or ``g++``.  So it doesn't rule out miss matched gcc versions or the like, but thats a bit more implausible I think.
librustc: Implement a `Pod` kind for types that can be `memcpy`'d.

This will be used for the new `Cell`.
libstd: Implement the new `Cell`.
test: Add a test that POD types can be implicitly copied.
doc: Update the documentation to describe the `Pod` trait.