ColorScale scales looped items with a color offset

The current ColorScale behavior currently maps a domain item to a range item.  If the domain space is bigger than the range space, than the range will continually loop to accommodate each domain value.  We would like to instead have each loop make the colors gradually more and more different so that colors that are looped will not look exactly the same.