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 wonder What could happen if the attribute is not present by the time that `wire` is called. (may be by external manipulation). we could check first if `el.getAttribute(this.DATADORSAL_WIRED)` returns and []