Erf, didn't mean for this commit to be so big but it just domino-effected.
- Classes now only use their base classes as a "mixin" (closes #96) The parent/child class relationship is no longer stored. This means "Class.super" is no longer allowed (though "instance.super" still is).
- Removed the supercall (super.method() or super()) syntax as well as all mechanisms and APIs for supercalls. Now there are only regular calls and method calls. What used to be "super.method()" is now "(BaseClass.method)(with this)".
- Removed the `as` expression. You can use "inst.super is Class" instead (though this assumes inst is an instance, unlike `as`). However the `as` keyword is still reserved for potential future use.
- Replaced the "as()" API function with "instanceOf()" which works exactly the same way (though since there are no longer class hierarchies, it only checks if the instance is exactly an instance of the given class).
- The "Throwable" class is no longer blessed, and the interpreter now no longer cares what class your exceptions derive from, as long as they satisfy the interface laid out by Throwable.
- Introduced "catchall" clauses for catching exceptions of any type, since you can't do "catch(e: Throwable)" any longer; these are used internally by scope action statements.