jQuery compatible promises for `wire()` and `rewire()`

* Basic Deferred implementation, providing `done`, `fail`, and `progress`. Can add `always`, `pipe`, and `when` if needed.
* `wire()` and `rewire()` resolve when all plugins have been run, with a new deferred promise every call.
* The promise will trigger `progress` handlers for each plugin run, and send the plugin response to each progress handler.