Refactors the assignment to contain sane metric settings objects, but this required a full system refactoring but I was in too deep so deal with it.
Also fixes the report generator to use these new settings objects.
Started off as #147 (closed). Got out of hand and now also resolves #161 (closed). The new entity system and the associated reports also resolve #139 (closed). Made #148 (closed) only worse on the old UI for some reason but that should not matter.
To be filled in by the reviewers