Refactoring.

* Introduce a BenchmarkSet class to perform operations on collections of
  benchmarks (moving logic out of app.py)
* Move File, Benchmark and BenchmarkSet to a new mcbench.benchmark
  module, instead of mcbench.client
* Add an as_dict() method on Benchmark, instead of calling vars()