allow subclasses to modify the parents model hooks

fixes bug 1210387

This change modifies the model hook processing to call the method on the
instance if a hook is registered as a string.  If the hook is a
callable, then callable is called with the hook arguments.

Change-Id: Id14ae89f3f12a500920d248226e0ecba8e35e74c
Merge "allow subclasses to modify the parents model hooks"