Deal with recursion when walking extensions in the conformance lookup table.
Deal with recursion when walking extensions in the conformance lookup table.

In insanely-hard-to-reproduce recursion walks of the extensions of a
nominal type within the conformance lookup table, make sure that we
don't visit an extension twice by checking our state each time. Fixes
rdar://problem/21861932.

Swift SVN r30280

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