Add new categories to select constraints in each step of the upgrade
Extend method to be possible filter constraint by contraint_type
Add Script Constraint document, view and actions

Also, Added constraint property sheets to Script Constraint portal type
Rename _build to _checkConsistency to follow Constraint API

Also, the logic of all Configuration Items was not changed, but now the changes are applied only if fixit is True.

Cosmetic: Trailing whitespaces were removed in the same commit
Add test to simulate the issue with the method TemplateTool.installBusinessTemplateListFromRepository

Using the method try to install Business Templates that are already
installed, the Business Templates is uploaded on ERP5 but not used. It
creates a lot of garbage because in the end you have many bt5s not
installed.

Also, Improve error message
inherit Base for reuse methods fixConsistency / checkConsistency
Simplify erp5_upgrader to be possible upgrade any project just enabling the alarms that all Constraints will be called and fixed.

The alarms were renamed to cover each step of upgrader and give the possibility to call each step manually one-by-one. Also, all Scripts that the logic can be done by installing Business Template was removed.

Also added:
 - Constraints that can be used in the upgrader
 - Unit test to check different scenarios
 - Extend external method to be possible dump workflow chains to be compared with all configuration defined on Business Templates
Add Business Template with Constraints as a example of bt5 with all configuration required to upgrade
Improve code to call checkConsistency through activities if hundred of objects because loading all objects can kill the perfomance

Also, Added test to Folder.recursiveCheckConsistency method
Add ConstraintType property sheet to all constraint portal types
Improve code because is not needed call fixConsistency twice
Base.checkConsistency: s/error_list2/extra_error_list/
Rename script to be more consistent
Move ScriptConstraint class to portal_components
Clean up code to a folder not call checkConsistency recursively

Also, remove test that cover it
Add constraint to be possible call checkConsistency recursively to specific portal type
Add new constraint to be possible call checkConsistency recursively
Enable checkConsistency recursive to Accounting Transaction
[erp5_upgrader] Enable checkConsistency recursive to Leave Request, Group Calendar, Group Presence Period and Presence Period
In case of recursive checkConsistency, the error_list without UnrestrictedMethod can return Unauthorized without raise exceptions