Python is the only language that we support that permits multiple
inheritance, which is probably good, since MI is generally considered
a sign of a poorly-designed object hierarchy. But there's no reason
not to support it. This algorithm is more simplistic than Python's
actual method-resolution lookup, but it's fine for now, and the
behavior for simple cases matches that of Python.
`identifier` in the Python assignment module was too eager to reduce a
nested Attribute into a dotted identifier. Removing it fixes method
calls, which now have a unit test.