IRGen: Fix protocol constraint fulfillments. Witness table fulfillments for protocol types were being ignored because we didn't record them with the proper key--we were just dropping the protocol on the floor and recording null. Fixing this fixes <rdar://problem/12965934> and obviates r3904.
IRGen: Fix protocol constraint fulfillments.
Witness table fulfillments for protocol types were being ignored because we didn't record them with the proper key--we were just dropping the protocol on the floor and recording null. Fixing this fixes <rdar://problem/12965934> and obviates r3904.

Swift SVN r3907

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