Replace getClangABIType() with a CanTypeVisitor<>.
Replace getClangABIType() with a CanTypeVisitor<>.

No functionality change. This is in preparation for generating Clang
types for more than just imported structs.

Swift SVN r12108

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