Switch the mattermost helper to be an instantiated class instead of a static one
The mattermost recipe was running commands during cookbook convergience that would not work properly on first run. These were things like checking if the database was up before it was created. And checking the mattermost version before the config and directories were put in place.
In addition our migration error logging for mattermost now logs as the mattermost user. Previously, on error the log may not have been created before this error message, and logging as root would cause a permission problem on the file for future runs.
Also the version flag for mattermost seems to output on stderr instead of stdout, so the version method of the helper has been updated.
Fixes: #1388 (closed)
But doesn't fix the log files that already owned incorrectly
Also still doesn't fix the fact that if you setup mattermost right from the very start, gitlab isn't ready for authorize