Class HookBuilder

This class returns applicable TransitionHooks for a specific Transition instance.

Hooks (IEventHook) may be registered globally, e.g., $transitions.onEnter(...), or locally, e.g.
myTransition.onEnter(...). The HookBuilder finds matching IEventHooks (where the match criteria is
determined by the type of hook)

The HookBuilder also converts IEventHooks objects to TransitionHook objects, which are used to run a Transition.

The HookBuilder constructor is given the $transitions service and a Transition instance. Thus, a HookBuilder
instance may only be used for one specific Transition object. (side note: the _treeChanges accessor is private
in the Transition class, so we must also provide the Transition's _treeChanges)