Re-apply
No reason for module or class body to try and receive an implicit block arg
evalSimple path no longer has duplicated scope (messiness to be cleaned up after evalWithBinding
removes its additionalScope).
Reinstated NoVars assertion because we no longer erroneously ask 'phantom' scope for a block
value which is never there...ooooooo spooky
SClasses should not need to get closure
Still a bit messy but all extra scope removal is done with known extra depth calcs removed
Still a bit messy but all extra scope removal is done with known extra depth calcs removed
Some random cleanup converging towards a stopping point
End of eval changes for now.  Later this will be revisted once we switch to only using StaticScope for lvars
Fix #2301
I see no reason for setting parent frame visibility to public.  Nothing triggered so removing