Bindings to acquire a global named lock.
This is intended to be used to synchronize multiple compiler processes to
ensure that we can output complete errors without interleaving on Windows.
Note that this is currently only needed for allowing only one 32-bit MSVC
linker to execute at once on MSVC hosts, so this is only implemented for
cfg(windows). Also note that this may not always be used on Windows,
only when targeting 32-bit MSVC.
For more information about why this is necessary, see where this is called.