Add template <T> ValueBase::getSingleUserOfType.
Add template <T> ValueBase::getSingleUserOfType.

Looping over all users and returning the only user of a specific type is a
common pattern in the compiler. This method just allows for the loop to be
eliminated.

frootloops/swift,huonw/swift,jopamer/swift,JGiola/swift,amraboelela/swift,hooman/swift,jmgc/swift,JGiola/swift,austinzheng/swift,xedin/swift,benlangmuir/swift,deyton/swift,apple/swift,JGiola/swift,tkremenek/swift,shahmishal/swift,amraboelela/swift,djwbrown/swift,tkremenek/swift,benlangmuir/swift,rudkx/swift,atrick/swift,swiftix/swift,JGiola/swift,parkera/swift,lorentey/swift,tkremenek/swift,uasys/swift,huonw/swift,felix91gr/swift,alblue/swift,danielmartin/swift,gregomni/swift,sschiau/swift,tjw/swift,stephentyrone/swift,jckarter/swift,parkera/swift,milseman/swift,tjw/swift,austinzheng/swift,return/swift,nathawes/swift,shajrawi/swift,JGiola/swift,austinzheng/swift,nathawes/swift,karwa/swift,amraboelela/swift,karwa/swift,harlanhaskins/swift,tjw/swift,shahmishal/swift,shajrawi/swift,zisko/swift,airspeedswift/swift,swiftix/swift,gregomni/swift,hooman/swift,huonw/swift,jckarter/swift,OscarSwanros/swift,airspeedswift/swift,huonw/swift,devincoughlin/swift,ahoppen/swift,lorentey/swift,jopamer/swift,jmgc/swift,xedin/swift,sschiau/swift,sschiau/swift,allevato/swift,CodaFi/swift,parkera/swift,alblue/swift,nathawes/swift,rudkx/swift,alblue/swift,CodaFi/swift,practicalswift/swift,brentdax/swift,gregomni/swift,parkera/swift,practicalswift/swift,danielmartin/swift,gribozavr/swift,danielmartin/swift,milseman/swift,lorentey/swift,natecook1000/swift,uasys/swift,danielmartin/swift,CodaFi/swift,karwa/swift,OscarSwanros/swift,aschwaighofer/swift,djwbrown/swift,ahoppen/swift,airspeedswift/swift,stephentyrone/swift,deyton/swift,jckarter/swift,practicalswift/swift,uasys/swift,shajrawi/swift,deyton/swift,rudkx/swift,karwa/swift,huonw/swift,return/swift,sschiau/swift,tjw/swift,harlanhaskins/swift,brentdax/swift,natecook1000/swift,aschwaighofer/swift,milseman/swift,benlangmuir/swift,apple/swift,zisko/swift,shahmishal/swift,tjw/swift,frootloops/swift,swiftix/swift,devincoughlin/swift,karwa/swift,shahmishal/swift,practicalswift/swift,frootloops/swift,zisko/swift,jopamer/swift,jckarter/swift,ahoppen/swift,tjw/swift,aschwaighofer/swift,jmgc/swift,jmgc/swift,return/swift,shahmishal/swift,deyton/swift,jckarter/swift,jckarter/swift,harlanhaskins/swift,sschiau/swift,devincoughlin/swift,gribozavr/swift,lorentey/swift,glessard/swift,parkera/swift,OscarSwanros/swift,milseman/swift,gribozavr/swift,huonw/swift,OscarSwanros/swift,lorentey/swift,sschiau/swift,roambotics/swift,zisko/swift,austinzheng/swift,apple/swift,xedin/swift,roambotics/swift,brentdax/swift,OscarSwanros/swift,devincoughlin/swift,practicalswift/swift,shahmishal/swift,gribozavr/swift,swiftix/swift,gregomni/swift,allevato/swift,benlangmuir/swift,lorentey/swift,aschwaighofer/swift,devincoughlin/swift,stephentyrone/swift,airspeedswift/swift,harlanhaskins/swift,jopamer/swift,austinzheng/swift,xwu/swift,allevato/swift,shajrawi/swift,djwbrown/swift,CodaFi/swift,allevato/swift,jmgc/swift,atrick/swift,brentdax/swift,allevato/swift,return/swift,felix91gr/swift,swiftix/swift,devincoughlin/swift,parkera/swift,tkremenek/swift,aschwaighofer/swift,uasys/swift,djwbrown/swift,airspeedswift/swift,gribozavr/swift,rudkx/swift,gribozavr/swift,apple/swift,tkremenek/swift,atrick/swift,aschwaighofer/swift,deyton/swift,xedin/swift,roambotics/swift,swiftix/swift,nathawes/swift,atrick/swift,xedin/swift,xwu/swift,return/swift,xwu/swift,airspeedswift/swift,felix91gr/swift,apple/swift,djwbrown/swift,shahmishal/swift,djwbrown/swift,danielmartin/swift,nathawes/swift,djwbrown/swift,practicalswift/swift,shajrawi/swift,milseman/swift,ahoppen/swift,shajrawi/swift,brentdax/swift,karwa/swift,parkera/swift,alblue/swift,xwu/swift,gregomni/swift,uasys/swift,glessard/swift,rudkx/swift,frootloops/swift,zisko/swift,uasys/swift,zisko/swift,allevato/swift,benlangmuir/swift,alblue/swift,natecook1000/swift,hooman/swift,felix91gr/swift,karwa/swift,alblue/swift,danielmartin/swift,devincoughlin/swift,gregomni/swift,felix91gr/swift,xwu/swift,alblue/swift,amraboelela/swift,return/swift,hooman/swift,glessard/swift,roambotics/swift,milseman/swift,ahoppen/swift,ahoppen/swift,roambotics/swift,frootloops/swift,CodaFi/swift,atrick/swift,stephentyrone/swift,zisko/swift,parkera/swift,amraboelela/swift,return/swift,jmgc/swift,lorentey/swift,OscarSwanros/swift,xedin/swift,airspeedswift/swift,allevato/swift,xedin/swift,xwu/swift,gribozavr/swift,amraboelela/swift,jmgc/swift,tkremenek/swift,glessard/swift,uasys/swift,hooman/swift,sschiau/swift,brentdax/swift,xedin/swift,shajrawi/swift,practicalswift/swift,natecook1000/swift,apple/swift,natecook1000/swift,danielmartin/swift,hooman/swift,OscarSwanros/swift,stephentyrone/swift,hooman/swift,milseman/swift,glessard/swift,jckarter/swift,shahmishal/swift,stephentyrone/swift,practicalswift/swift,CodaFi/swift,harlanhaskins/swift,aschwaighofer/swift,frootloops/swift,benlangmuir/swift,deyton/swift,gribozavr/swift,austinzheng/swift,sschiau/swift,harlanhaskins/swift,frootloops/swift,rudkx/swift,xwu/swift,shajrawi/swift,brentdax/swift,roambotics/swift,harlanhaskins/swift,amraboelela/swift,lorentey/swift,JGiola/swift,nathawes/swift,natecook1000/swift,nathawes/swift,tkremenek/swift,jopamer/swift,austinzheng/swift,karwa/swift,tjw/swift,natecook1000/swift,felix91gr/swift,huonw/swift,devincoughlin/swift,deyton/swift,atrick/swift,stephentyrone/swift,swiftix/swift,felix91gr/swift,CodaFi/swift,glessard/swift,jopamer/swift,jopamer/swift