Add granulating the time range

Granulating means splitting the time range into exclusive time
ranges of years, months, days and whatever is left.
Maybe a method to extract the rest:
``def extract_rest(range)
@rest << range
``