Prevent duplicate loading of plugins in PluginLoader #948
I think that a plugin's name is only used for display purposes, right?
If that's true, then I think the name itself should not be used for comparisons, instead we should define what the unique id should look like.
When plugins were available multiple times on the classpath or in the plugin directory of Graylog, the PluginLoader used to load identical plugins multiple times. By using a sorted set and a specialized Comparator<Plugin> in PluginLoader we prevent that behaviour. Fixes #946