MDL-41792 block_calendar_month: tidy existing code
MDL-41792 block_calendar_upcoming: tidy existing code
MDL-41792 calendar: refactored the calendar to allow the use of multiple calendar types
MDL-41792 form: used the new get_name() calendar function in the date selectors
MDL-41792 calendar: added missing abstract functions to test calendar