LPS-32092 Calendar fix from support

Hey Eduardo,

This is a fix coming from the support team about the calendar portlet. I'm not sure the state of it, if it's going to be replaced or not, support needs a patch anyway.

As far as I know you are working on the new calendar as well, so would you mind reviewing this change and push it to Brian?

The basic problem is that the overlapping events were not handled correctly, for example if I have an event starting on one day and it overlaps to the next day it is not displayed.

This PR addresses this problem for every aspect of the calendar. I've introduced some new service methods to serve the logic, writing a custom SQL query would have been much more difficult to write (would have done date operations), plus a custom query is not cached, so I've applied the logic in the service methods.

Let me know if you have any questions.

Thanks,

Máté