Simplified _dateCmpUntil in order to be more readable.
Tie up loose ends, remove some argument defaults, comment here and there, don't count on cmp() returning [-1, 0, 1], remove unsed _isValidDate() function