Dont have GitSpy::switch() reset the lastResult to "Compilation error"

It may happen that the outcome of an exercise is not computed yet when
we want to commit. For example because we didn't run that exercise
yet, but that's fine. The commiting code should leave with that fact.

Instead, the code was initializing the outcome field to a compilation
error of detail "" when switching to an exercise. Always, ever.

Bad things then happen when passing an exercise that has
sub-exercises. In this case, the ExercisePassedDialog switches the
exercise itself while the executed() event must be raised after that
dialog (because we need the feedback to commit the executed stuff).

So, when switching, gitSpy did reset the result of the exo that was
not commited yet to compileError, and then that result was commited.

Removing that single line solved this whole mess:

   lastExo.lastResult = ExecutionProgress.newCompilationError("");

This should really (fix #257) this time.

New achievement unlocked: having a commit message larger than the diff it documents.
BDR: use [thelang] instead of Java (fix #274)