[IMP] resource: first refactoring of various methods to calculate timed intervals based on resource.calendar. Added tests.
[IMP] base_action_rule: when using a timed condition on days, allow to use a working calendar to compute days.
[FIX] crm: removed duplicate calendar menu item
[IMP] resource: overall fix of hours/days computation + scheduling + added tests
[IMP] resource: old API replacement + first implementation of compute_hours, to compute the number of working hours between two dates.
[CLEAN] resource: cleaned old API
[FIX] resource: fixed computation with a False calendar id (spotted in stock_no_autopicking.py yml tests)
[IMP] hr_contract: added override of base_action_rule (+ dependency) to add the possibility to use a user-related working scheduling.
[IMP] hr_contract: base_action_rule: better string
[IMP] hr_contract: base_action_rule: add resource for leave computation
[MERGE] Sync with trunk
[MERGE] Sync with trunk
[FIX] mrp: added security rule to enable mrp users to compute production orders
[MERGE] Sync with trunk
[IMP] resource : some docstrings cleaning + void calendar
taken into account in days scheduling + finished yesys
[CLEAN] resource: some cleaning in docstrings
[CLEAN] resource: removed some TDE NOTE
[IMP] default_interval also in schedule_hours, allowing to
schedule some work with a default calendar, like previous version
of resource module.
[MERGE] [REF] [IMP] base_action_rule: allow using a resource.calendar to compute
day-based timing conditions.

[REF] resource: cleaned, refactored and improved code for resource.calendar
module. Old API is kept for backward compatibility.
[TESTS] resource: added tests for the new implementation of the various
methods.

[IMP] base_action_rule: using the resource module, added the possibility
to specify a resource.calendar to compute day-based timing conditions.

[IMP] hr_contract: added an override of base action rule to add the possibility
of using an employees's resource.calendar to compute day-based timing
conditions.