Implement the hook execution methods.

I don't know if the ComponentProxyList API has any other users, so I
don't dare to modify its API.

Instead, I do something ugly: I pass the hook name and timeouts within
the state of the object.

And since I cannot change the API anywhere, I have to implement the
appropriate setters for ncm-ncd.

If the reviewers think it's best to pass the hook parameters as
arguments to executeConfigureComponents, I am open to do so.
Add tests for the hook executions.
Add support for hooks to the ncm-ncd program.