change Ruby.getConstantInvalidator() to take a constant name
switch over some obvious things to use getConstantInvalidator(String)
fix up calls to invalidateConstantCache() in RubyModule
teach RuntimeCache about invalidator per constant name
use ConcurrentHashMap instead of Hashtable
use CHM.putIfAbsent instead of explicit synchronization
remove volatile from invalidator declaration
don't synchronize on invalidator getter methods
Tag some unstable specs

Tag a number of specs which have proven to cause intermittent failures.

Note that this fixes up the tag for the unstable close_spec which was
not being picked up by the tests.
Merge pull request #780 from dmarcotte/unstable-tests

Tag intermittent spec failures
Change "fails" to "critical" since these are sketchy.
Remove unused imports.
Tag unreliable specs unstable rather than fails
Revert "Change "fails" push to "critical" since these are sketchy."

This reverts commit bb50060ec46c3db1d830c55dfa9fcd4b5c9d7012.
Merge pull request #800 from dmarcotte/unstable-tags

Tag unreliable specs unstable rather than fails
Start moving backref logic back under thread context.

In order for us to start optimizing backref logic away, we need to
hide how it is stored and retrieved. Moving back under
ThreadContext allows us to have more flexibility in implementing
new backref mechanisms.
This file is *not* generated.
Move lastline getting/setting into context, to hide it.
Kernel#print reads lastline, via IO#print.
More detail in field variable indy logging.