progress towards nested-class bug
classes are now immediately-evaluated 0-argument lambdas.  This may seem strange, but allows us to deal with the semantics of nested classes in a much cleaner way - in fact, we entirely delegate to the normal semantics of member functions in classes.  This appears to have seriously slowed down the get_set_attribute.py test, but has not majorly impacted any other tests.
fixed nested class scope bug, added regression test

in the process of this fix I discovered we have never tested nested classes sufficiently.  many bugs may lie here.