DynamicJava: Bug fix for incorrect handling of names shadowed by a different kind of name in the same namespace (variables shadowed by fields, for example). Added an InitializerContext so that final fields can be set by initializer blocks; improved the final-field-mutation check.