On Windows the identifier __deallocate is defined as a macro by one of the Windows system headers. Previously libc++ worked around this by #undef __deallocate and generating a warning. However this causes the WIN32 version of __threading_support to always generate a warning on Windows. This is not OK.
This patch renames all usages of __deallocate internally as to not conflict with the macro.