Add ui menu generation

Implement first part of duplicating Program menu.

Signed-off-by: Sandy Carter <sandy.carter@savoirfairelinux.com>
Copy result chain menu

Add aditional_domain param to _clone_menu_action
Copy Configuration menus and submenus

Add helper functions to get custom domains and contexts
Add top_level_menu_id field for other configuration menus
Cleanup elements when deleting last element of a custom chain

* Views
* Actions
* Tags
* Targets
* Interventions
Fix translation propagation
Fix creation of level on other chains
Prevent selection of elements which are part of another menu group
Move result validation logic to configuration

Add program.result.validation.spec model to level config page to associate
states to groups
Logic in mass validate and mass open wizards factorized
fields_view_get using wizards logic to display workflow buttons

Implement bubble up logic for associated specs
Hide elements from other menus in the main Program menu
Rename top menu from level form
Fix issue of double initialisation creating extra menus
Properly use Result Levels to get next of level chain

Fix previous implementation which looked up the depth for next level.
Use child of level to find next level
Add missing descriptions to models
Add description to program_evaluation
Add default to department_id and team_member_ids to match domain
Add multi_menu bindings for program_team

Doesn't replicate menus properly with multimenu demo data, but once
installed menus are created properly
Add glue module for multi-menu of program_budget
Add glue module for multi-menu of program_indicator
Add glue module for multi-menu of program_evaluation
Hide advanced menu creation options

Assign Group Technical Features for top_level_menu and top_level_menu_name

Signed-off-by: Sandy Carter <sandy.carter@savoirfairelinux.com>