Fix Optional assignment bugs.
Fix Optional assignment bugs.

Assigning from Nothing to Nothing should be a no-op, not copy a junk value into the destination. Also, in move-assignment we should reset the source (and thereby call the destructor) instead of abandoning the source value after moving it.

Swift SVN r5234

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