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.
My thought (and motivation for doing this in the first place) is that it's reasonable to expect the decorator to work the same way as the method.  It's certainly true that `priority` isn't particularly nice, but since the method does it and the decorator _can_ do it I expect it to support it. The fact that `priority` stinks and no one should be using it doesn't change the user's expectations about it.