[stdlib] Remove *Subrange methods from algorithms prototype
[stdlib] Remove *Subrange methods from algorithms prototype

Now that slices pin properly, the recursive parts of these algorithms
can operate on collection slices instead of the whole collection with
a `subrange` parameter. Adds tests to make sure we’re successfully
performing the operation without reallocations.

* Fix exclusive access warnings for Algorithms prototype
* Modernize generic constraints and range expressions
* Remove _Subrange methods in Algorithms prototype
* Add slice conformances to MutableCollectionAlgorithms
* Re-indent partitionPoint with 2 spaces
* Add documentation for internal algorithms
* Switch algorithms prototype to use Swift 4.0
rudkx/swift,karwa/swift,airspeedswift/swift,parkera/swift,natecook1000/swift,swiftix/swift,nathawes/swift,shahmishal/swift,ahoppen/swift,karwa/swift,lorentey/swift,zisko/swift,shahmishal/swift,apple/swift,shajrawi/swift,swiftix/swift,jopamer/swift,CodaFi/swift,swiftix/swift,lorentey/swift,JGiola/swift,gribozavr/swift,stephentyrone/swift,OscarSwanros/swift,karwa/swift,jmgc/swift,tjw/swift,parkera/swift,hooman/swift,huonw/swift,atrick/swift,austinzheng/swift,harlanhaskins/swift,frootloops/swift,practicalswift/swift,stephentyrone/swift,parkera/swift,allevato/swift,tkremenek/swift,brentdax/swift,parkera/swift,danielmartin/swift,lorentey/swift,jckarter/swift,glessard/swift,jmgc/swift,tkremenek/swift,jopamer/swift,ahoppen/swift,airspeedswift/swift,natecook1000/swift,xedin/swift,glessard/swift,roambotics/swift,aschwaighofer/swift,shajrawi/swift,stephentyrone/swift,xedin/swift,lorentey/swift,amraboelela/swift,harlanhaskins/swift,ahoppen/swift,OscarSwanros/swift,nathawes/swift,natecook1000/swift,JGiola/swift,brentdax/swift,shahmishal/swift,JGiola/swift,gribozavr/swift,tjw/swift,jopamer/swift,gregomni/swift,atrick/swift,CodaFi/swift,aschwaighofer/swift,amraboelela/swift,apple/swift,OscarSwanros/swift,practicalswift/swift,xedin/swift,xedin/swift,brentdax/swift,OscarSwanros/swift,shahmishal/swift,hooman/swift,tkremenek/swift,rudkx/swift,brentdax/swift,CodaFi/swift,gribozavr/swift,nathawes/swift,sschiau/swift,alblue/swift,lorentey/swift,shahmishal/swift,jmgc/swift,frootloops/swift,frootloops/swift,shajrawi/swift,danielmartin/swift,austinzheng/swift,roambotics/swift,JGiola/swift,rudkx/swift,tkremenek/swift,harlanhaskins/swift,harlanhaskins/swift,devincoughlin/swift,karwa/swift,swiftix/swift,zisko/swift,jmgc/swift,ahoppen/swift,huonw/swift,atrick/swift,practicalswift/swift,zisko/swift,allevato/swift,practicalswift/swift,JGiola/swift,airspeedswift/swift,nathawes/swift,jmgc/swift,huonw/swift,allevato/swift,hooman/swift,OscarSwanros/swift,devincoughlin/swift,sschiau/swift,danielmartin/swift,stephentyrone/swift,karwa/swift,ahoppen/swift,benlangmuir/swift,stephentyrone/swift,rudkx/swift,tjw/swift,austinzheng/swift,glessard/swift,swiftix/swift,xedin/swift,practicalswift/swift,xedin/swift,allevato/swift,frootloops/swift,natecook1000/swift,natecook1000/swift,shahmishal/swift,practicalswift/swift,karwa/swift,gribozavr/swift,hooman/swift,amraboelela/swift,swiftix/swift,parkera/swift,jopamer/swift,jckarter/swift,xwu/swift,devincoughlin/swift,danielmartin/swift,xwu/swift,gregomni/swift,jckarter/swift,airspeedswift/swift,tkremenek/swift,alblue/swift,atrick/swift,jckarter/swift,jopamer/swift,rudkx/swift,OscarSwanros/swift,sschiau/swift,aschwaighofer/swift,lorentey/swift,alblue/swift,karwa/swift,xedin/swift,nathawes/swift,apple/swift,jmgc/swift,gribozavr/swift,shajrawi/swift,roambotics/swift,swiftix/swift,alblue/swift,hooman/swift,austinzheng/swift,apple/swift,gregomni/swift,danielmartin/swift,austinzheng/swift,sschiau/swift,lorentey/swift,benlangmuir/swift,allevato/swift,sschiau/swift,roambotics/swift,danielmartin/swift,rudkx/swift,OscarSwanros/swift,aschwaighofer/swift,xwu/swift,CodaFi/swift,alblue/swift,aschwaighofer/swift,atrick/swift,amraboelela/swift,jckarter/swift,harlanhaskins/swift,glessard/swift,shajrawi/swift,roambotics/swift,harlanhaskins/swift,huonw/swift,huonw/swift,devincoughlin/swift,danielmartin/swift,frootloops/swift,airspeedswift/swift,zisko/swift,zisko/swift,apple/swift,benlangmuir/swift,tkremenek/swift,harlanhaskins/swift,jckarter/swift,parkera/swift,stephentyrone/swift,CodaFi/swift,tjw/swift,nathawes/swift,airspeedswift/swift,benlangmuir/swift,xwu/swift,hooman/swift,gribozavr/swift,shahmishal/swift,frootloops/swift,benlangmuir/swift,lorentey/swift,gregomni/swift,devincoughlin/swift,shajrawi/swift,sschiau/swift,karwa/swift,aschwaighofer/swift,glessard/swift,tkremenek/swift,xwu/swift,hooman/swift,CodaFi/swift,roambotics/swift,xwu/swift,practicalswift/swift,brentdax/swift,airspeedswift/swift,austinzheng/swift,allevato/swift,alblue/swift,natecook1000/swift,stephentyrone/swift,jmgc/swift,gregomni/swift,brentdax/swift,zisko/swift,tjw/swift,amraboelela/swift,shahmishal/swift,shajrawi/swift,glessard/swift,practicalswift/swift,shajrawi/swift,brentdax/swift,huonw/swift,gregomni/swift,amraboelela/swift,natecook1000/swift,atrick/swift,jopamer/swift,zisko/swift,sschiau/swift,alblue/swift,CodaFi/swift,devincoughlin/swift,austinzheng/swift,huonw/swift,tjw/swift,xwu/swift,xedin/swift,jckarter/swift,ahoppen/swift,gribozavr/swift,nathawes/swift,JGiola/swift,parkera/swift,devincoughlin/swift,devincoughlin/swift,gribozavr/swift,aschwaighofer/swift,sschiau/swift,apple/swift,amraboelela/swift,parkera/swift,allevato/swift,frootloops/swift,tjw/swift,benlangmuir/swift,jopamer/swift