Add test case to check whether stdout/stderr output is suppressed.
Stop hanging JUnit threads after a timeout.

JUnit interrupts but does not stop threads, this leaves room for side
effects between separate cases, e.g. students might be writing infinite
loops which still allocate ressources.
We try to find these hanging threads and kill them.
See also:
https://groups.yahoo.com/neo/groups/junit/conversations/messages/24565
In case of failure, search for stack trace element in default package.
Move annotations to own package.

A student might use the same class names now.
Add test file which uses the same class names as the annotations.