Bug 1021378 - Add support for clang-cl to the build system; r=glandium

This patch does two things: 1. Treat clang on Windows explicitly as MSVC. There
are some places in our build system where we try to detect clang by looking at
the output of $(CC) -v, and that will cause us to believe that we are using
clang, which is not helpful.  This patch defines the CLANG_CL variable when it
detects clang being used on Windows.  It also masquarades clang-cl as MSVC
2012, which is how the compiler introduces itself through the _MSC_VER
predefined variable.

2. Disable a bunch of things which currently are not supported on clang-cl.  As
we proceed with this port, hopefully we'll be able to remove everything in this
list, but this will get us closer to be able to build with clang-cl.

With this patch and clang-cl trunk, we can get past the configure stage of the
build.

--HG--
extra : rebase_source : e5b8d77e4571c936820cec858953d58b6f31e0d5
Bug 1021670 - Enable using non-wrapper-cached objects in unions; r=bzbarsky

--HG--
extra : rebase_source : 43353aa015a793d2eb6bed507213ceda2065d99e