Make cycle(staticarray) @safe

Flag ctor as @trusted since it's casting a ref to a pointer.
Flag opSlice as @trusted to cast back to the original type of R.
Mark all the unit tests as @safe.
Add a ctor that takes a pointer, which currently can't be used in a @safe context.

Take 2: see also pull #2615.