Add `dispatch` and `priority` kwargs to `on_trait_change` decorator.

This PR gets rid of the `*names` argument to the decorator, which never worked, and replaces the magic prefix on the pattern with a dictionary of explicit data and values.

The default values of the kwargs match those of the normal method.
:grimacing: