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
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.
Merge pull request #1070 from monarchdodra/9299

Fixes issue 9299 - std.algorithm.minPos of const(int)[]
Merge pull request #1048 from Poita/bug8368

Issue 8368 - Insufficient constraints for sort
Merge pull request #1026 from Dicebot/patch-1

Update std/traits.d
fix Issue 9317 - ParameterStorageClassTuple reports errors for inout function
Merge pull request #1073 from 9rnsr/fix9317

Issue 9317 - ParameterStorageClassTuple reports errors for inout function
Implementation of fullyQualifiedTypename template that operates on raw types contrary to fullyQualifiedName which is tied to aliases to symbols
fullyQualifiedName: function type handling improved

1) Added formatting for:
    * Attributes
    * Parameter storage classes
    * Variadic arguments
    * Function type qualifiers for delegates
    * Function linkage
2) Unit tests were re-arranged and improved a bit
3) xformat -> format
fullyQualifiedName update: fixed test suite build errors
fullyQualifiedName: removed duplicate unittest lines