WFLY-2881: Reworks CalendarTimeout wrt proper usage of Calendar#add. Inc...

...ludes fix shown by the CalendarBasedTimeoutTestCase in specific dates, where the CalendarTimeout first timeout has day 1 instead of 0

Besides fixing the concrete issue, this PR reworks the CalendarTimeout, truncating the calendar before setting or adding values to calendar fields, and it also optimizes performance. 
 
This PR is an alternative to https://github.com/wildfly/wildfly/pull/6044