Introduce a new TCC_AllowLValue bit to inform  typeCheckArgumentChildIndependently when we want an lvalue back,  instead of it always producing an lvalue.  Provide it in a couple of places, the most interesting of which is when forming a call to an  operator where an InOutExpr is implicitly provided by the fact that the operator is an 'assignment' operator (something we don't actually model right in the language at the moment for unary operators).
Introduce a new TCC_AllowLValue bit to inform 
typeCheckArgumentChildIndependently when we want an lvalue back, 
instead of it always producing an lvalue.  Provide it in a couple of
places, the most interesting of which is when forming a call to an 
operator where an InOutExpr is implicitly provided by the fact that
the operator is an 'assignment' operator (something we don't actually
model right in the language at the moment for unary operators).

Producing this uses the candidate list we get from analyzing the
function, which makes this the first example of using the callee to
provide type information when analyzing an argument subexpression.

All this work for NFC. :-)


Swift SVN r30600

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