Changing how PRE violation is handled. Suppose the current test step calls a method m. If m throws a PRE AssertionError it will count as an assumption violation rather than requirement violation. However to be more precise, if the PRE error is thrown by m itself, then it is an assumption violation. If it is thrown by another method, it counts as requirement violation (error). That is how it was. It is now changed so that if the PRE error is thrown by a method from CUT's super class, this counts as an assumption violation too. ---------- Changing the searchmode so that it now also backtrack. Previously when the current step fails an assumption, T2 tries to randomly regenerate it up to some N times trial. If this is exhausted, the whole trace is dropped. Now, it will backtrack further to the previous step, if one exists. The above iteration is then repeated.