erp5_core: acquire destination also on calendars type
erp5_calendar: associate portal types to type group "calendar"
ERP5/Calendars: define group type list for calendars, partial design change

Calendar Assignments are now handled in a separate module, update
code in consequence
erp5_calendar: fixed typo in z_catalog_stock_list
erp5_calendar: customize _getDatePeriodDataList instead of asMovementList

This makes less code to customize in GroupCalendarAssignment
SimulationTool: rewrite getAvailableTimeMovementList

All the logic was inside Person_getAvailableTimeMovementList.
Algorithm was old and hard to understand. Move this algorithm to
simulation tool, and rewrite it using the interval library for
having less code to maintain and easier understanding
ERP5/PresencePeriod: fixed _getDatePeriodDataList
erp5_core: make simulation_tool.getMovementHistoryList returning mirror_dates

This is useful to get both start and stop dates of movements without the need of
getting directly objects.
erp5_calendar: make sure to take into account start and stop date of assignment
erp5_calendar: rename Person_zGetAvailableTime to Node_zGetAvailableTime
erp5_calendar: use newly created portal types
ERP5/PresencePeriod : in stocks sql table, start_date should be date column

Reverse natural ways, has suggested by the document (presentation) with
reference developer-Calendar
erp5_calendar: use Group Calendar Assignment instead of Assignments
testCalendar: skip some tests that we do not want to maintain for now