Resolved additional test failures.

requireXXX macros now clean class argument names (which are prefixed by
"{ClassName}.this.", confusing matters somewhat).

Occasionally, calling ".getClass.getCanonicalName" on an object - a
common practice in the tests - will result in a java.lang.InternalError:
Malformed class name exception. This appears to be a bug in the Scala
compiler (raised as issue SI-5425 in the Scala JIRA issue database). To
workaround this problem, I've hardcoded the name of the class in some
cases.

Removed a redundant field from AppImplementationTest implementation.

Some miscellaneous code tidy-up too.