Fix ZKillboard mocks to match more specifically
Have Request validate that new statuses follow the state diagram

Also adds tests for modifiers and the new status validation and fixes a minor documentation issue.
Merge branch 'master' into request-state

* master:
  Fix ZKillboard mocks to match more specifically
Add validators for modifiers and base_payout checking status

Also added unit tests for the new checks.
Refactor the Principal stuff into a separate module
Move permissions checking for Request actions into the model

It simplifies the controllers and enforces the (up till now voluntary) constraints of the model.
Organize the models tests into separate classes
The model now enforces permissions for Modifiers

Unit tests also written (and enabled in the case of some in views.test_requests).