Rotate Ranges

We can rotate our data such that every element now lies at a different index, which is decided by the rotation offset.

We'll cover the following...

std::rotate and std::rotate_copy rotate ...