DynamicJava: SourceChecker support code. Introduced DepthFirstVisitor. Added an "error" property to facilitate multiple errors in a single block and to cache errors for later analysis. Added an "archiveProperties" method to move all properties to a different name, allowing repeated checking with different TypeSystems.