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
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.
Merge pull request #1071 from jmdavis/cycle

Made cycle's DollarToken private.