Split the controller over multiple files

This make the main file smaller and tries to keep a certain logic in the
split
The ui file refers to all actions performed by normal users
The api file refers to some specific api endpoint/functions
The admin file refers to action only allowed by the admins
Add some documentation and remove the api_method decorator as we do not use it
Add missing import in ui.py
pep8 fixes
Move the url and regex information into the ui file
Fix logging when creating a project
Add different logging messages when someone adds a new project or try to add an already existing project