SILParser: use a Scope for generic parameters.
SILParser: use a Scope for generic parameters.

This will fix the scoping issue for generic paremeters in SILType.
We use a Generics scope when parsing generic paremters of a SILType, after
we are done parsing the type, we delete the Generics scope.

Testing case will be added when SILParser can correctly handle generic code.

rdar://14443287


Swift SVN r14998

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