support wrapping months

fixes #48
if max is less than the min, it'll loop twice.  first to the end of the range from min, and than from the low end of the range to max.

I wasn't sure how you were generating the code, so i just modified the later.js directly.  not sure if that's correct.