PluginLoader class

Factor out plugin loading and unloading, and general plugin management, to its own class. This is the first part of #7; this factoring has to happen before any alternative interaction with Hamper can be set up.