Fix randomly failing test (order not guaranteed)

This because order of goals returned by
function goalsDefinition() is not guaranteed.
Equality test will then be done on Sets
instead of sequences
Tests goal definition in interfaces / super classes
Remove unused import
#32 Creation of GoalException class

A GoalException is an exception that can be thrown by a goal
but unlike for other exceptions, no stacktrace will be printed on
error output stream for this one.