Avoid livelock in debug builds of MRT
Avoid livelock in debug builds of MRT

Update the enter_spin_lock_noinstru implementation (which is used to
implement enter_spin_lock in chk/dbg builds) to include the same code
that allows the retail implementation to avoid livelock when a large
number of threads are blocked on the gc_heap::gc_lock.

This change is scoped to chk/dbg builds to avoid perturbing retail
usage of enter_spin_lock_noinstru (which is unreachable and therefore
untestable in the context of MRT).

[tfs-changeset: 1578104]

manu-silicon/corert,schellap/corert,yizhang82/corert,kyulee1/corert,schellap/corert,schellap/corert,botaberg/corert,gregkalapos/corert,tijoytom/corert,sandreenko/corert,schellap/corert,yizhang82/corert,yizhang82/corert,mjp41/corert,mjp41/corert,shrah/corert,krytarowski/corert,sandreenko/corert,tijoytom/corert,botaberg/corert,kyulee1/corert,yizhang82/corert,krytarowski/corert,tijoytom/corert,tijoytom/corert,krytarowski/corert,gregkalapos/corert,shrah/corert,manu-silicon/corert,kyulee1/corert,shrah/corert,krytarowski/corert,botaberg/corert,manu-silicon/corert,sandreenko/corert,mjp41/corert,gregkalapos/corert,mjp41/corert,kyulee1/corert,sandreenko/corert,schellap/corert,mjp41/corert,shrah/corert,botaberg/corert,manu-silicon/corert,manu-silicon/corert,gregkalapos/corert