Handle dispatching non-existent commands
Forward stop[Immediate]Propagation to original event in CommandRegistry

Previously, stopping propagation would work on the synthetic bubbling
phase of the command registry itself, but the original event would
continue to propagate which is counterintuitive.
Use the CommandRegistry to register activation event listeners

Commands registered with the command registry will always be handled
first, so as long as we disable any listeners in the registry that were
already invoked for the current command, we don’t need to disable jQuery
methods before replaying the command after activating the package.

This commit adds the ability to call .disableInvokedCommands on the
event passed to the command listeners. This returns a function which
can be called to reenable them.