MDL-41792 block_calendar_month: refactored the calendar so that it can support multiple calendar types