Support for super and correct method overrides

The interpreter can now handle requests on super, for the surrounding
method only. The method must override another method defined in a super
object. A bug where super-methods were overriding sub-methods has been
resolved as part of this change.

The parser has been modified to accomodate super and inherits, with the
previous functionality of the 'request' parse split into an
'unqualifiedRequest' expression parser and a specialised request parse
in the 'inherits' parser. 'self' is now considered a keyword, but will
appear as an identifier in a request as it did before.

There are minor whitespace changes in the runtime.