Big refactoring to avoid unnecessary directives

* Remove all hull*Id directives
* Move directives specific code in their own controllers
* Top-level hull-disclone directive shares it attr hull-id
* Children directives retrieve hull-id with the scope option