Add granulating the time range

Granulating means splitting the time range into exclusive time
ranges of years, months, days and whatever is left.
It should be OK to just reopen a class that Ruby already knows by using its name and not declaring anything about inheritance, thus freeing us from knowing what time_range.rb does with the class.