imporvements to uninitializedFill && initializeAll

Because they didn't really handle all of the cases correctly.

Added unittests.
Fix 8368 - Insufficient constraints for sort

Error from bug code after this change:

```
Error: template std.algorithm.sort does not match any function template declaration. Candidates are:
std/algorithm.d(7820):        std.algorithm.sort(alias less = "a < b", SwapStrategy ss = SwapStrategy.unstable, Range)(Range r) if ((ss == SwapStrategy.unstable && (hasSwappableElements!(Range) || hasAssignableElements!(Range)) || ss != SwapStrategy.unstable && hasAssignableElements!(Range)) && isRandomAccessRange!(Range) && hasSlicing!(Range) && hasLength!(Range))
bug.d(6): Error: template std.algorithm.sort(alias less = "a < b", SwapStrategy ss = SwapStrategy.unstable, Range)(Range r) if ((ss == SwapStrategy.unstable && (hasSwappableElements!(Range) || hasAssignableElements!(Range)) || ss != SwapStrategy.unstable && hasAssignableElements!(Range)) && isRandomAccessRange!(Range) && hasSlicing!(Range) && hasLength!(Range)) cannot deduce template function from argument types !()(MapResult!(__lambda2, string[]))
```

Fixes Issue 8368
http://d.puremagic.com/issues/show_bug.cgi?id=8368
Update for documentation as a consequence for https://github.com/D-Programming-Language/phobos/pull/862
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.
Added explanation of requirements in comments.
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.
Add opSlice to Cycle.
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
Fixes issue 9299 - std.algorithm.minPos of const(int)[]
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.