Subclasses can now be abstract/final, and fixed a bug with :super method

Use the new :abstractExtends and :finalExtends methods to create
abstract/final subclasses.

In addition, fixed a bug wherein a superclass' method that uses :super
inside it would not properly go to said superclass, when itself called
with :super