Fixed PluginLoader reloading/re-enabling

Used to use class names for jar file lookup, which is not always the same.
Also fixed command and help system tp work with CommandOwner instead of Plugin,
so if a command belongs to server, the owner will not be null.
This caused issues in PluginLoader too.

Added to XmlDatabase: update() will now insert if there was no set that matched the query
HookExecutor throws Exception when execute() fails