Use c for loops in more range iterators

Use C for loops for unbounded ranges, and bounded/strided ranges.

This also adds an iterator to use when you know the stride is positive.
Currently the use must call this iterator themselves and it is used in an
optimized case for DefaultRectangular.chpl iterator.

I think it would be ideal if the stridable was an enum that was either
negative, positive, unknown, or none and then we could provide these optimized
iterators that would get used in a lot of other places. However, stridable is
used all over in ChapelRange, DefaultRectangular, ChapelArray, and all the
distributions so it would take a while, and I'm not 100% is possible yet. Plus
it would limit the by operator...