Rubocop compliance changes

This is the list of changes to make Rubocop pass when run in the app/ folder. It includes the code changes and a rubocop configuration set, which disables some checks for now that we can come back to later (e.g. documentation) and some which I think are unreasonable or make code uglier (like the method line count that was too short or the replacing if foo bar end with foo && bar).

We could discuss those, check the file rubocop-todo.yml with my comments in it to see the list. If you enable one of those checks and re run it, you can see what it complains about.