When using iCMS+ExplicitGCInvokesConcurrent, while a system.gc() request is
pending, we "disable_icms" -- in other words, we temporarily discontinue
incrementality, so that a CMS collection can proceed to completion
even if there is no allocation to act as a trigger for iCMS initiation.
In this case, the enable_icms() and disable_icms() interfaces which had
been used to affect this incrementality enabling and disabling are not
adequate for this use because multiple concurrent invocations can destructively
interfere, leaving a thread starnded with its system.gc() request stuck
The fix would be to make the enable/disable interfaces counting interfaces
so they do not lose any control events because of inteference.