Add method to map coarser range to finer subranges

This PR adds a method `getFinerRanges` to the `Range` class that will take a granularity to the mapped and the range for which we want the mapping.
It will return a mapping between all slot-ranges within the supplied range and an Iterable for the sub-ranges in the finer granularity that get combined/rolled-up to a single point for that slot-range.