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.
I was thinking that the decorator is more commonly used than the class method which means that it would make the use of `priority` common in the wild, thus it will be much more painfull to remove it later. In short I can see a use for `dispatch` but I cannot see outside use for priority other than the current internal use for the `deepnds_on` of properties.