[opt-transform-range] Do not assume that Range::iterator exists.
[opt-transform-range] Do not assume that Range::iterator exists.

The reason not to do this is that some important range
adapters (e.x. llvm::iterator_range) do not have such a typedef. Rather than
changing upstream this commit just fixes the problem by inferring the iterator
type from the result of Range::begin().

TLDR: This makes OptionalTransformRange work with llvm::iterator_range.

allevato/swift,CodaFi/swift,devincoughlin/swift,hooman/swift,airspeedswift/swift,airspeedswift/swift,harlanhaskins/swift,airspeedswift/swift,stephentyrone/swift,jmgc/swift,jckarter/swift,JGiola/swift,hooman/swift,gregomni/swift,lorentey/swift,nathawes/swift,roambotics/swift,xwu/swift,aschwaighofer/swift,jmgc/swift,glessard/swift,atrick/swift,nathawes/swift,tkremenek/swift,jckarter/swift,karwa/swift,rudkx/swift,apple/swift,glessard/swift,nathawes/swift,karwa/swift,roambotics/swift,glessard/swift,ahoppen/swift,hooman/swift,hooman/swift,jckarter/swift,devincoughlin/swift,benlangmuir/swift,lorentey/swift,ahoppen/swift,jckarter/swift,harlanhaskins/swift,jmgc/swift,hooman/swift,atrick/swift,aschwaighofer/swift,airspeedswift/swift,apple/swift,apple/swift,allevato/swift,aschwaighofer/swift,tkremenek/swift,devincoughlin/swift,ahoppen/swift,parkera/swift,CodaFi/swift,gribozavr/swift,airspeedswift/swift,hooman/swift,hooman/swift,parkera/swift,devincoughlin/swift,parkera/swift,benlangmuir/swift,glessard/swift,sschiau/swift,xwu/swift,roambotics/swift,xwu/swift,roambotics/swift,gregomni/swift,lorentey/swift,CodaFi/swift,JGiola/swift,benlangmuir/swift,gribozavr/swift,airspeedswift/swift,lorentey/swift,devincoughlin/swift,allevato/swift,parkera/swift,stephentyrone/swift,sschiau/swift,harlanhaskins/swift,parkera/swift,karwa/swift,gregomni/swift,karwa/swift,gregomni/swift,nathawes/swift,airspeedswift/swift,nathawes/swift,ahoppen/swift,lorentey/swift,gribozavr/swift,allevato/swift,lorentey/swift,gribozavr/swift,tkremenek/swift,karwa/swift,atrick/swift,rudkx/swift,allevato/swift,sschiau/swift,rudkx/swift,parkera/swift,gregomni/swift,harlanhaskins/swift,glessard/swift,tkremenek/swift,jckarter/swift,stephentyrone/swift,harlanhaskins/swift,gribozavr/swift,atrick/swift,xwu/swift,apple/swift,atrick/swift,ahoppen/swift,lorentey/swift,stephentyrone/swift,atrick/swift,benlangmuir/swift,JGiola/swift,parkera/swift,apple/swift,jckarter/swift,JGiola/swift,tkremenek/swift,rudkx/swift,CodaFi/swift,parkera/swift,jmgc/swift,roambotics/swift,karwa/swift,gribozavr/swift,roambotics/swift,stephentyrone/swift,nathawes/swift,devincoughlin/swift,benlangmuir/swift,gregomni/swift,xwu/swift,jmgc/swift,sschiau/swift,allevato/swift,rudkx/swift,xwu/swift,gribozavr/swift,glessard/swift,harlanhaskins/swift,devincoughlin/swift,aschwaighofer/swift,stephentyrone/swift,tkremenek/swift,JGiola/swift,sschiau/swift,aschwaighofer/swift,nathawes/swift,sschiau/swift,karwa/swift,stephentyrone/swift,CodaFi/swift,gribozavr/swift,devincoughlin/swift,benlangmuir/swift,ahoppen/swift,tkremenek/swift,aschwaighofer/swift,JGiola/swift,allevato/swift,xwu/swift,rudkx/swift,sschiau/swift,apple/swift,CodaFi/swift,CodaFi/swift,jckarter/swift,aschwaighofer/swift,harlanhaskins/swift,jmgc/swift,jmgc/swift,sschiau/swift,lorentey/swift,karwa/swift