Clarify return and super behaviour

The error handling behaviour of method exits was built in preparation
for building stack traces with the exceptions, but this will be handled
by the runtime rather than the interpreter so it has been removed.

The lookup behaviour of return and super was almost redundant in the
presence of the search method, so search now detects self and does not
proceed further when searching for either case. Rather than raising an
error when the return exit function is not found, the exit function
replaces itself with a function that raises the error when it is called.

Some minor whitespace issues in the exceptions module have also been
fixed.