Support StlVectorTest for MSVC
Summary:
Sure, it's big, but it compiles.
There are a few different changes to make this happen, the first is to deal with quite a few places where MSVC was complaining about the implicit coersion of template and noexcept parameters to bool.
Next, the gating that disabled this for 4.7 is now gone.
MSVC's runtime expected `difference_type` to be defined on our custom allocator, so it now is.
`ReadTSC()` was changed to use MSVC's intrinsic for this.
And finally, the named variadic parameters to macros were switched to normal variadic macro params, as MSVC doesn't support named ones.
Reviewed By: yfeldblum
Differential Revision:
D3479761
fbshipit-source-id:
703a5ef942ffc9b63381d13fc3960ac6f2780aa0