Minor optimization: make loading classes faster.
We now load classes by calling Class.forName directly rather than evaluating a string.
This is more efficient and is especially helpful when handling side effects.
Minor optimization/bugfix: do not call static methods of blacklisted imported classes.
This stops us from wasting time loading the CodeHint class if it is imported.
Tiny side effect optimization and debug println improvements.
Heuristically avoid undoing side effects on sync variables, which can cause hangs in Swing.
Fixed race conditions with side effect handling.
Minor side effect handler fixes.