Mark methods in std.range.Cycle for static array as system

`std.range.Cycle` for the static array is essentially unsafe struct because there is a possibility to dereference a dangling pointer.
Only the constructor, `popFront` and `save` are safe because they do not dereference `_ptr`.

I think a much better way to split this code into `@safe` / `@trusted` portions, is to move the `% R.length` part inside `trustedPtrIdx`, because it's the modulo operation that makes the operation trusted, not the pointer dereference itself.