Add a convenience method to Class that retrieves all transitive bases
Fix BinaryExpression to more correctly calculate the type
Introduce a very basic Type System that supports simple Java subtyping
Use the Type System to disambiguate simple method overloads/overrides
Split the method ambiguity resolution method into multiple phases