fix partial months on date/diff.

now it makes sure totalDaysInMonth is really based on how many days until the
next full month (1st day of next month or startDay on endMonth).