Changed the way PluginManager knows if an AutoUnload instance is from the current module.

AutoUnload now sets a _calling_module attribute in __new__ to store the module that created the instance.

Implemented a base _unload_instance method into AutoUnload which raises a NotImplementedError if the inheriting class does not have one implemented.