Fixed unsigned cyclic_value wrap-around bug for negative advance.
Calling advance on an unsigned cyclic_value with a negative step, that would cause the value to wrap around the lower bound, would result in the incorrect value.
Calling advance on an unsigned cyclic_value with a negative step, that would cause the value to wrap around the lower bound, would result in the incorrect value.