Combinatorics updates

* Removed unnecessary copy from combinations()
* Added permutations()
* Added start, stop to reverse, reverse!
* Added simple tests for combinatorics, reverse
Merge pull request #4025 from JuliaLang/kms/combinatorics

Combinatorics updates