Bug 1018658 - Part 4: Make document.evaluate also accept user defined objects
Remove EventStates' copy constructor and assignment operator to make it trivially copyable so that it builds with clang-cl
Disable NS_lroundup30 on clang-cl

This function contains inline assembly which clang-cl can't compile yet.
Disable bitscan intrinsics on clang-cl because it doesn't support #pragma intrinsic
Disable the SEH block used in TestPoisonArea.cpp on clang-cl until it grows SEH support
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.
Bug 1021670 - Enable using non-wrapper-cached objects in unions; r=bzbarsky