Call hooks during installation workflow

The hooks are called automatically for all installation clients twice:
* before the clients is run and 
* after it has returned. 

Yast2 package will own the path /var/log/YaST2/hooks, which is the default hook search path with a README file for further users instructions. Other yast components should create its own subdirectories where they will search for hooks; this is due to avoiding conflicts in hook names for different use cases (installation, wagon, ...)

This PR adds updated tests for hooks and some changes to hooks properties:
* the hooks search path must exists at the time the first hook is run, otherwise exception is raised
* the hook name must be a non-empty string, otherwise exception is raised

TODO
* show widget with failed hooks results
* write the content of README.md ^
* write the content of main hooks doc file