read benchmark: accept a filename as an argument
read benchmark: accept a filename as an argument

On my Macbook Pro, reading from standard input incurs a bunch of locking
overhead, which complicates profiling and (IMO) adds noise to
results. This adds the option to read from a file, which doesn't incur
this overhead.

loot/yaml-cpp,dand-oss/yaml-cpp,SimplyKnownAsG/yaml-cpp,jbeder/yaml-cpp,jbeder/yaml-cpp,butataatawa/yaml-cpp,tangrams/yaml-cpp,jbeder/yaml-cpp,dand-oss/yaml-cpp,WaveBlocks/yaml-cpp,dand-oss/yaml-cpp,loot/yaml-cpp,Mightyjo/yaml-cpp,SimplyKnownAsG/yaml-cpp,Mightyjo/yaml-cpp,jbeder/yaml-cpp,kn65op/yaml-cpp,SimplyKnownAsG/yaml-cpp,kn65op/yaml-cpp,graehl/yaml-cpp,ysyrov/yaml-cpp,tangrams/yaml-cpp,WrinklyNinja/yaml-cpp,dand-oss/yaml-cpp,WrinklyNinja/yaml-cpp,kn65op/yaml-cpp,graehl/yaml-cpp,ysyrov/yaml-cpp,dand-oss/yaml-cpp,tangrams/yaml-cpp,ysyrov/yaml-cpp,Mightyjo/yaml-cpp,WrinklyNinja/yaml-cpp,WrinklyNinja/yaml-cpp,ysyrov/yaml-cpp,SimplyKnownAsG/yaml-cpp,jbeder/yaml-cpp,butataatawa/yaml-cpp,graehl/yaml-cpp,butataatawa/yaml-cpp,WaveBlocks/yaml-cpp,graehl/yaml-cpp,loot/yaml-cpp,graehl/yaml-cpp,WaveBlocks/yaml-cpp,loot/yaml-cpp,butataatawa/yaml-cpp,Mightyjo/yaml-cpp,tangrams/yaml-cpp,kn65op/yaml-cpp,WaveBlocks/yaml-cpp