Improvements to the plugin loader

It will now destroy as many objects as possible when performing a full
reload, and will look for plugin files on disk to #load when a constant
is not already defined. This makes it possible to load entirely new
plugins without restarting a bot.

Additionally '!reload loader' will now work.