Migration files should not be executable
Introduce new role 'Questionnaire publisher' #2729
Publisher role can be given only by someone with publisher role #2729

The very first publisher role must be given manually in DB. Then the role
can be propagated to others users. But only very few trusted users should be
given the role.

Also the mechanism to prevent self attribution of permission to attribute
permission was broken. This allowed users to give themselves the right to give
rights, opening a huge security breach. This is now fixed and unit tests covered.