[stdlib/Array] Add deferred typechecking
[stdlib/Array] Add deferred typechecking

When an NSArray is force-downcast to T[] at an API boundary, we need to
remember that each element needs to be dynamically checked when
accessed.  No deferred casts are being generated yet, so NFC

Swift SVN r18243

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