Added Rewire/Unwire Capabilities

- Added a GUID to pass return values from create to destroy plugin
  functions
- Added create/destroy concept for plugins that need destroy
- Added unwire for specific and all plugins
- Added wire for specific plugins
- Prevented plugins from being wired if they have already been wired
- Added rewire, which first unwires then rewires either specific or
  all plugins

Testing
----
- Mostly TDD
I think it should just be indented 4 spaces. Indenting it to line up with the `.` makes the rules less systematic.