Feedback and Unit Tests

* Feedback: table columns shown on "submissions" page depend on feedback
* Unit Tests:
    * changed semantics
    * implemented server-sided unit tests
    * seperate unit tests from normal submissions
    * special "details" page
In this case all score types that enable unit test would need to know how `Case.unique_name` works. In particular all these score types would need to be changed if we change this method. Furthermore if we made a function `Case.unique_name_from_codename`  we would either have to pass quite many parameters *or* hardcode the restriction that `unique_name` is a function of `codename`. The former case would be really cumbersome and I myself think that the latter approach is seriously flawed: we might e.g. (in future versions?) "share" a case between different groups, e.g. for partial feedback, but still want it to be evaluated exactly once. Then it would be reasonable to give both cases the same codename (because their only difference is their usage). However, we still should allow for different expectations of these two "manifestations", because when preparing a task one might change the case used for partial feedback, which would automatically change the expectations.

Finally, I don't think that saving "too much" to the database would be a problem: there aren't that many unit tests around and relative to the data we already save (expectations, unit test results!) this should not matter much.