Go go queries

Time for MessageIndex.controller to become query-free.
This PR brings quite a bit of changes, especially I tried to "delegate" logging to the functions that actually do the actions. For example approveTopics, now can logs the approval/unapproval of the topics passed. To me seems more logical than have to explicitly call the logging every time the function is used.  There is a parameter (false by default) that tells the function to log or not).

The PR may require some testing (that I have not yet done :angel: ) and maybe adding a test or two wouldn't hurt. :angel: