imporvements to uninitializedFill && initializeAll

Because they didn't really handle all of the cases correctly.

Added unittests.
Fix zip for slicing infinite ranges

Because the type returned is not the same.
use enum opDollar in Sequence

Because an enum is better than a function
Remove back/popBack primitives from Repeat

Because a bidirectional infinite range makes no sense. AFAIK.
Provide slicing for Repeat
cleanup OS detection

- the wrong variable was set for OpenBSD and Solaris
Activate bugfix 6336 unittest
Various fixes in lockstep and zip

Mainly, they accepted the types R, provided Unqual!R is a range. But that doesn't make sense.

Reduced to only accepting if R itself is a range.

Improved constraints, fixed implementations, removed needles bug workaround.
Merge pull request #1067 from dawgfoto/cleanupMakefile

cleanup OS detection
Merge pull request #1068 from jmdavis/cycle

Add opSlice to Cycle.
Merge pull request #1069 from monarchdodra/zipLockstep

Const fixes in Zip and Lockstep
whitespace
Merge pull request #1009 from monarchdodra/initializeAll

improvements to uninitializedFill && initializeAll
Merge pull request #1065 from monarchdodra/repeatSlice

Provide slicing for Repeat
Made cycle's DollarToken private.

There's no reason for anyone to use it directly, so it's better for it
to be private.