Eagerly validate decls that conform to special protocols.
Eagerly validate decls that conform to special protocols.

Also, validate known bridging functions if their associated modules have been
loaded.

The special protocols case is important when an imported type is literal-
convertible -- the type-checker may not think to try it otherwise. The
bridging functions (e.g. convertStringtoNSString) are important for SILGen,
which expects them to have proper types if they are present at all.

Swift SVN r8650

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