Minor refactoring so that the implementations can be used in a single-core virtual machine (or container).  Same solution that I used for the compiler.  SpinWaitResult() allows the current thread to be yielded so we don't hit deadlock which is the intent here.
Minor refactoring so that the implementations can be used in a single-core
virtual machine (or container).  Same solution that I used for the
compiler.  SpinWaitResult() allows the current thread to be yielded so
we don't hit deadlock which is the intent here.

bloritsch/DHaven.Faux