Treat Invalid  tests as Failed rather than skipped

ResultState.NotRunnable was previously defined as new ResultState(TestStatus.Skipped, "Invalid"). This PR changes it to new ResultState(TestStatus.Failed, "Invalid") thereby simplifying a few things. It's more logical as well since a non-runnable test represents an error - in our old Gui it's coded as red.

The change is simple but required a large number of small adjustments in the code in order to keep things working.