[utils] add pre-commit-benchmark script
[utils] add pre-commit-benchmark script

This script runs the benchmarks in benchmark/PrecommitBench/ against
your working tree and compares the result with the results of running
the benchmark against origin/master, or any commit you specify on the
command line.  Its output is roughly in CSV format.  It keeps a cache of
benchmark results, tagged with the working tree state, so chances are
good that it won't have to change your working copy state.  However, if
results for the specified commit are not in the cache, the script will
temporarily switch your working copy to that commit in order to build.

Timing parsing, comparison, and printing code by Andy Trick.  Thanks,
Andy!

Swift SVN r19646

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