Unify the generic and non-generic overloading paths.
Unify the generic and non-generic overloading paths.

While we're here, order conversion functions based on their return
type, because the input types are uninteresting and we want to convert
to the most specific type.


Swift SVN r9947

OscarSwanros/swift,deyton/swift,jtbandes/swift,brentdax/swift,kusl/swift,apple/swift,devincoughlin/swift,gribozavr/swift,nathawes/swift,ahoppen/swift,karwa/swift,frootloops/swift,slavapestov/swift,LeoShimonaka/swift,airspeedswift/swift,SwiftAndroid/swift,Jnosh/swift,frootloops/swift,amraboelela/swift,kusl/swift,arvedviehweger/swift,return/swift,johnno1962d/swift,MukeshKumarS/Swift,JGiola/swift,tkremenek/swift,felix91gr/swift,alblue/swift,khizkhiz/swift,swiftix/swift,ken0nek/swift,return/swift,emilstahl/swift,kentya6/swift,tinysun212/swift-windows,jopamer/swift,rudkx/swift,JaSpa/swift,kentya6/swift,devincoughlin/swift,JGiola/swift,OscarSwanros/swift,sdulal/swift,dduan/swift,SwiftAndroid/swift,rudkx/swift,stephentyrone/swift,natecook1000/swift,modocache/swift,tkremenek/swift,jckarter/swift,kperryua/swift,gmilos/swift,arvedviehweger/swift,adrfer/swift,tardieu/swift,KrishMunot/swift,uasys/swift,shahmishal/swift,gottesmm/swift,sdulal/swift,allevato/swift,jckarter/swift,harlanhaskins/swift,kusl/swift,parkera/swift,gregomni/swift,apple/swift,alblue/swift,adrfer/swift,ken0nek/swift,felix91gr/swift,ben-ng/swift,ahoppen/swift,amraboelela/swift,slavapestov/swift,return/swift,airspeedswift/swift,djwbrown/swift,johnno1962d/swift,calebd/swift,xedin/swift,benlangmuir/swift,therealbnut/swift,rudkx/swift,roambotics/swift,zisko/swift,deyton/swift,ben-ng/swift,jckarter/swift,jmgc/swift,SwiftAndroid/swift,ben-ng/swift,codestergit/swift,cbrentharris/swift,kstaring/swift,shahmishal/swift,swiftix/swift,deyton/swift,harlanhaskins/swift,kperryua/swift,deyton/swift,slavapestov/swift,LeoShimonaka/swift,atrick/swift,slavapestov/swift,JGiola/swift,mightydeveloper/swift,felix91gr/swift,kstaring/swift,therealbnut/swift,gribozavr/swift,airspeedswift/swift,tkremenek/swift,tardieu/swift,shahmishal/swift,lorentey/swift,rudkx/swift,calebd/swift,dduan/swift,parkera/swift,tinysun212/swift-windows,gribozavr/swift,glessard/swift,tinysun212/swift-windows,deyton/swift,russbishop/swift,adrfer/swift,devincoughlin/swift,OscarSwanros/swift,natecook1000/swift,IngmarStein/swift,milseman/swift,manavgabhawala/swift,swiftix/swift.old,KrishMunot/swift,codestergit/swift,khizkhiz/swift,calebd/swift,nathawes/swift,zisko/swift,sschiau/swift,Ivacker/swift,xwu/swift,milseman/swift,LeoShimonaka/swift,ben-ng/swift,tardieu/swift,codestergit/swift,amraboelela/swift,modocache/swift,shahmishal/swift,jmgc/swift,lorentey/swift,jtbandes/swift,xwu/swift,airspeedswift/swift,dreamsxin/swift,danielmartin/swift,therealbnut/swift,calebd/swift,parkera/swift,russbishop/swift,dduan/swift,gmilos/swift,practicalswift/swift,sdulal/swift,glessard/swift,apple/swift,sschiau/swift,austinzheng/swift,emilstahl/swift,deyton/swift,xedin/swift,gmilos/swift,aschwaighofer/swift,stephentyrone/swift,huonw/swift,LeoShimonaka/swift,austinzheng/swift,gregomni/swift,airspeedswift/swift,nathawes/swift,kentya6/swift,kstaring/swift,sdulal/swift,brentdax/swift,zisko/swift,therealbnut/swift,IngmarStein/swift,practicalswift/swift,xedin/swift,CodaFi/swift,benlangmuir/swift,emilstahl/swift,hooman/swift,hooman/swift,kperryua/swift,MukeshKumarS/Swift,amraboelela/swift,shajrawi/swift,bitjammer/swift,huonw/swift,swiftix/swift.old,harlanhaskins/swift,benlangmuir/swift,russbishop/swift,shajrawi/swift,emilstahl/swift,alblue/swift,sschiau/swift,amraboelela/swift,allevato/swift,atrick/swift,jtbandes/swift,tkremenek/swift,gmilos/swift,devincoughlin/swift,devincoughlin/swift,JaSpa/swift,kstaring/swift,JaSpa/swift,atrick/swift,JGiola/swift,calebd/swift,hughbe/swift,xwu/swift,ben-ng/swift,stephentyrone/swift,tkremenek/swift,LeoShimonaka/swift,kstaring/swift,kentya6/swift,MukeshKumarS/Swift,djwbrown/swift,hooman/swift,natecook1000/swift,austinzheng/swift,return/swift,djwbrown/swift,gribozavr/swift,dduan/swift,emilstahl/swift,Jnosh/swift,shajrawi/swift,therealbnut/swift,gregomni/swift,swiftix/swift,gottesmm/swift,khizkhiz/swift,dduan/swift,natecook1000/swift,Ivacker/swift,CodaFi/swift,xedin/swift,OscarSwanros/swift,KrishMunot/swift,adrfer/swift,benlangmuir/swift,kusl/swift,austinzheng/swift,amraboelela/swift,parkera/swift,glessard/swift,slavapestov/swift,atrick/swift,djwbrown/swift,ken0nek/swift,karwa/swift,codestergit/swift,JaSpa/swift,jopamer/swift,alblue/swift,cbrentharris/swift,zisko/swift,tjw/swift,kentya6/swift,jmgc/swift,jopamer/swift,modocache/swift,swiftix/swift.old,ben-ng/swift,johnno1962d/swift,shajrawi/swift,hughbe/swift,gottesmm/swift,johnno1962d/swift,natecook1000/swift,djwbrown/swift,milseman/swift,roambotics/swift,bitjammer/swift,therealbnut/swift,huonw/swift,gmilos/swift,uasys/swift,tjw/swift,OscarSwanros/swift,gribozavr/swift,austinzheng/swift,shajrawi/swift,johnno1962d/swift,jmgc/swift,felix91gr/swift,bitjammer/swift,lorentey/swift,codestergit/swift,ahoppen/swift,kusl/swift,glessard/swift,emilstahl/swift,JaSpa/swift,natecook1000/swift,emilstahl/swift,xwu/swift,calebd/swift,kstaring/swift,russbishop/swift,austinzheng/swift,gottesmm/swift,arvedviehweger/swift,allevato/swift,gottesmm/swift,tinysun212/swift-windows,Jnosh/swift,hughbe/swift,tardieu/swift,kperryua/swift,MukeshKumarS/Swift,jopamer/swift,arvedviehweger/swift,modocache/swift,milseman/swift,xedin/swift,sdulal/swift,harlanhaskins/swift,adrfer/swift,jmgc/swift,aschwaighofer/swift,manavgabhawala/swift,slavapestov/swift,Ivacker/swift,alblue/swift,return/swift,frootloops/swift,OscarSwanros/swift,ken0nek/swift,jmgc/swift,hughbe/swift,codestergit/swift,jopamer/swift,roambotics/swift,kperryua/swift,sschiau/swift,IngmarStein/swift,ken0nek/swift,practicalswift/swift,LeoShimonaka/swift,johnno1962d/swift,jtbandes/swift,brentdax/swift,kentya6/swift,swiftix/swift,LeoShimonaka/swift,tardieu/swift,lorentey/swift,calebd/swift,jtbandes/swift,Ivacker/swift,alblue/swift,lorentey/swift,kperryua/swift,CodaFi/swift,kentya6/swift,codestergit/swift,danielmartin/swift,practicalswift/swift,kusl/swift,karwa/swift,aschwaighofer/swift,mightydeveloper/swift,airspeedswift/swift,MukeshKumarS/Swift,roambotics/swift,hooman/swift,alblue/swift,harlanhaskins/swift,huonw/swift,shajrawi/swift,brentdax/swift,benlangmuir/swift,JGiola/swift,shahmishal/swift,return/swift,SwiftAndroid/swift,frootloops/swift,huonw/swift,harlanhaskins/swift,CodaFi/swift,karwa/swift,OscarSwanros/swift,lorentey/swift,practicalswift/swift,sdulal/swift,IngmarStein/swift,swiftix/swift,apple/swift,CodaFi/swift,ben-ng/swift,swiftix/swift,uasys/swift,bitjammer/swift,tinysun212/swift-windows,devincoughlin/swift,practicalswift/swift,Jnosh/swift,nathawes/swift,aschwaighofer/swift,parkera/swift,karwa/swift,ahoppen/swift,jopamer/swift,karwa/swift,JaSpa/swift,shahmishal/swift,bitjammer/swift,mightydeveloper/swift,tjw/swift,aschwaighofer/swift,roambotics/swift,austinzheng/swift,swiftix/swift.old,russbishop/swift,Jnosh/swift,khizkhiz/swift,huonw/swift,khizkhiz/swift,glessard/swift,Ivacker/swift,glessard/swift,jckarter/swift,jckarter/swift,khizkhiz/swift,therealbnut/swift,swiftix/swift.old,Ivacker/swift,gregomni/swift,swiftix/swift.old,sdulal/swift,felix91gr/swift,arvedviehweger/swift,xedin/swift,danielmartin/swift,xwu/swift,milseman/swift,shahmishal/swift,danielmartin/swift,SwiftAndroid/swift,kusl/swift,jmgc/swift,dreamsxin/swift,modocache/swift,deyton/swift,nathawes/swift,swiftix/swift.old,nathawes/swift,allevato/swift,Jnosh/swift,mightydeveloper/swift,kusl/swift,CodaFi/swift,danielmartin/swift,hooman/swift,dduan/swift,tkremenek/swift,return/swift,karwa/swift,mightydeveloper/swift,shajrawi/swift,ahoppen/swift,hooman/swift,apple/swift,gribozavr/swift,emilstahl/swift,jtbandes/swift,tinysun212/swift-windows,bitjammer/swift,brentdax/swift,manavgabhawala/swift,bitjammer/swift,atrick/swift,sschiau/swift,jckarter/swift,cbrentharris/swift,cbrentharris/swift,apple/swift,frootloops/swift,arvedviehweger/swift,felix91gr/swift,ken0nek/swift,stephentyrone/swift,allevato/swift,JGiola/swift,IngmarStein/swift,mightydeveloper/swift,airspeedswift/swift,SwiftAndroid/swift,allevato/swift,nathawes/swift,kstaring/swift,tjw/swift,danielmartin/swift,tjw/swift,parkera/swift,adrfer/swift,uasys/swift,kperryua/swift,hughbe/swift,sschiau/swift,milseman/swift,benlangmuir/swift,dduan/swift,cbrentharris/swift,MukeshKumarS/Swift,tardieu/swift,Ivacker/swift,zisko/swift,xwu/swift,gribozavr/swift,parkera/swift,frootloops/swift,hughbe/swift,adrfer/swift,mightydeveloper/swift,roambotics/swift,cbrentharris/swift,uasys/swift,harlanhaskins/swift,ahoppen/swift,karwa/swift,parkera/swift,shajrawi/swift,zisko/swift,gregomni/swift,kentya6/swift,djwbrown/swift,JaSpa/swift,jckarter/swift,rudkx/swift,stephentyrone/swift,gottesmm/swift,manavgabhawala/swift,KrishMunot/swift,swiftix/swift,swiftix/swift.old,shahmishal/swift,hooman/swift,stephentyrone/swift,KrishMunot/swift,cbrentharris/swift,KrishMunot/swift,aschwaighofer/swift,KrishMunot/swift,ken0nek/swift,xedin/swift,gmilos/swift,LeoShimonaka/swift,manavgabhawala/swift,MukeshKumarS/Swift,milseman/swift,russbishop/swift,brentdax/swift,practicalswift/swift,manavgabhawala/swift,practicalswift/swift,slavapestov/swift,stephentyrone/swift,gribozavr/swift,khizkhiz/swift,johnno1962d/swift,sschiau/swift,zisko/swift,IngmarStein/swift,modocache/swift,tinysun212/swift-windows,SwiftAndroid/swift,xedin/swift,lorentey/swift,cbrentharris/swift,brentdax/swift,amraboelela/swift,jopamer/swift,aschwaighofer/swift,jtbandes/swift,allevato/swift,manavgabhawala/swift,huonw/swift,uasys/swift,frootloops/swift,devincoughlin/swift,atrick/swift,sschiau/swift,natecook1000/swift,felix91gr/swift,modocache/swift,gmilos/swift,tardieu/swift,danielmartin/swift,devincoughlin/swift,IngmarStein/swift,tjw/swift,tjw/swift,arvedviehweger/swift,lorentey/swift,xwu/swift,Ivacker/swift,russbishop/swift,gregomni/swift,hughbe/swift,CodaFi/swift,rudkx/swift,djwbrown/swift,gottesmm/swift,sdulal/swift,Jnosh/swift,mightydeveloper/swift,tkremenek/swift,uasys/swift