This was originally broken by r258744 which introduced a weak reference
from ubsan to ubsan_cxx, which of course does not work directly on
Windows. The fix is to use /alternatename to create a weak external
reference to ubsan_cxx.
Also fix the definition (and the name, so that we drop cached values)
of the cmake flag that controls whether to build ubsan_cxx. Now the
user-controllable flag is always on, and we turn it off internally
depending on whether we support building it.