Split routes into controllers

Although the PR is quite big the changes, one after each other, should make sense. Better to check them individually if you review this. I don't want to create one PR per changeset as it will only add noise.

There are already tests for all routes that were moved in this refactor.