DynamicJava: Refactored ExtendedTypeSystem by separating customizeable subtyping and inference functions from the standard conversion, lookup, etc. code. Standard code was lifted into an abstract parent, StandardTypeSystem. Also eliminated the bounds check from makeClassType(), allowing bounds checking to occur at a later stage.