Improve !reload, !load and !unload

This provides better feedback for these commands, fixes #198 and also adds some more test coverage surrounding these commands.

Feedback welcome.