Refactored lease renewal to remove public proxy accessor
Added IRenewableLease to share across expirable objects
Fixed plugin guid. Now grabs from the assembly

Originally grabbing the guid from the type, not the assembly attribute
the type exists in.
Now saves the Scope (if modified) to config files

The scope used to be removed, regardless if it had data in it that would
be used to route the command.
Added support for plugins to be enabled/disabled

This required a bit of shuffling around, but has also optimized the way
events are passed into the plugin appdomain. Now a majority of remoting
is is done between PluginController and RemotePluginController.
RemotePluginController handles what plugins are enabled/disabled.
Plugin Enable/Disable now returns DoesNotExist when the plugin does not exist.
Added tests for commands on an enabled plugin
Added tests for commands on a disabled plugin

Which was pretty much a copy + paste of the enabled tests, but they do
serve a purpose ensuring a command is not successful on a disabled
plugin