Adds unregisterListener, unregisterListeners and unregisterCommands

This PR adds the following methods to PluginManager : 
unregisterListener(Listener)
unregisterListeners(Plugin)
unregisterCommands(Plugin)

It also keeps track of which commands and listeners belong to which plugins to make this all possible, using a Multimap.