Extract message system to plugin

This pull request extracts the existing foodsoft user messaging functionality to a plugin (engine), which is enabled by default. There should be no visible changes in the interface or functionality.