Fix/4.0.x/cal 812

> Improved JCR queries for events and recurrent events. Affected methods are
- calendarService.searchHightLightEventSQL
- calendarService.searchHighlightRecurrenceEventSQL

- calendarService.getAllNoRepeatEventsSQL
- calendarService.getHighLightOriginalRecurrenceEventsSQL
These basically impact loading of events on all views. 

> Created JCR level cache for user calendars, group calendars, calendar setting and event categories, to 
reduce the number of JCR access. This has impacts on loading, adding, updating and removing these items.

> Move complex groovy code from template to java. Particularly, in week view:
- uiWeekView.renderDayHeader()
- uiWeekView.renderAllDayGrid()
- uiWeekView.renderEventBoard()