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
Hm, at least when not using our task format, users could invent their own codenames (which are guaranteed to be unique, though). So using ``unique_name=json.dump((a,))`` for subtasks and ``unique_name=codename`` for test cases would be dangerous. But I still don't understand the necessity of case_keys: those keys can be trivially generated from the codenames and we use them only at one point in the code (line 304 of SubtaskGroup.py).