Fix: daterange.get_month_by_id: bad modulo used.

the given month id is 1 based : 1 == january -> 12 == december.
but we "% 12" it so the result is 0 -> 11.

but Daterange.months values goes from 1 -> 12 ..  BAM.

Solution:
+ don't modulo the given month_id
+ better/simpler class methods: Should not be called with invalid input (month or day (id or not) not valid).
+ For consistancy against everything : Use python newstyle class for Daterange and Timerange.
+ tests.