DynamicJava: Refactored DJMethod/DJConstructor to keep track of the declaring instance (different than the object itself when class type parameters have been instantiated). This allows the lookup algorithms to ignore that detail. The declaring instance is necessary for compilation and (probably) overloading analysis.