on_change handler is now handler(name, old, new).

I also test the function signature and raise TraitError when it
is registered, not called.