rose date: 360 day compatibility

This makes the date.py library capable of using the 360 day calendar by either:

 - cylc (or the user) setting CYLC_CALENDAR to either 360 or gregorian
 - a switch to rose-date CLI utility to set the calendar to use

Also adds tests for the new behaviour.


I think you could get away with `calendar_type` here