#25435 Better resolve of hooks with {engine_name}

If a hook is a new-style hook and has a default value which contains the
{engine_name} token, the code now checks to ensure that an
implementation actually exists for the current engine.

For example, previously, there could be implementations for maya and
nuke and when you installed the app for houdini things would just
install without errors, but when you tried to run the app it would not
find the desired built-in houdini hook because there was none.

Now instead, it will warn at install time and ask you to enter a manual
parameter value in this case.

/----------------------------------------------------------------------
| Item:    actions_hook
| Type:    hook
| Summary: Hook which contains all methods for action management.
\----------------------------------------------------------------------
WARNING: Sorry, no built-in support for the tk-shotgun engine yet! The
default hook value '{self}/{engine_name}_actions.py' for this hook
refers to an engine specific hook, however there is currently no hook
implementation available for the current engine. If you want to continue
with the install, you have to supply your own hooks.
Please enter value (enter to skip): 

Closes #81