Using `.append` can lead to a 'two routes with the same name' error Reproduced via ``` rails runner 'Rails.application.reloader.reload!' ```
This commit updates the plugin to the latest guidelines, as shown in discourse-plugin-skeleton, which involves moving a lot of the code to dedicated files, use proper namespaces, use the autoloader as much as possible, etc.