WFLY-2881: Fix for issue shown by the CalendarBasedTimeoutTestCase in sp...

...ecific dates, where the CalendarTimeout first timeout has day 1 instead of 0

This PR just extends the test coverage and fixes the concrete issue I noticed in the end of February, which led to the test deactivation. I'm not sure if the issue is just a matter of timezone offsets or a JDK bug, since what happens is that sometimes Calendar.set(Calendar.HOUR_OF_DAY, 0) fails to update the calendar hour, which stay set to 1. Cleaning the calendar fields before setting them works fine.

This PR is an alternative to https://github.com/wildfly/wildfly/pull/6045 , which goes beyond fixing the issue and provides a rework of the entire CalendarTimeout logic.