Support arbitrary numbers of implements and extends clauses (with arbitrary numbers of types) for classes and interfaces.

This vastly improves our error tolerance and messages for when the user writes an illegal heritage clause sequence.