Push several shanges:
Make single argument constructors explicit in macros. Remove NOMINMAX macro. Add macros for disabling Microsoft Visual C++ warnings. Add WhenDynamicCastTo<T> matcher. A matcher that matches a pointer that matches inner_matcher when dynamic_cast<T> is applied. Add IWYU export pragmas to the tuple include lines. Fix NativeArray to not require a copy constructor unless we ask for one. This allows ElementsAre() to support non-copyable types. Examine WINAPI_FAMILY_PARTITION macros to better distinguish windows platforms. Author: martin@martin.st From: https://codereview.appspot.com/57220043/