New way of defining benchmarks with more flexibility

- separate experiment from workbench and measure protocol
- make everything looks like Unit Tests
- no need to rerun an experiment to extract multiple statistics
- provide various prebuilt statistics, protocol and dataset constructors
- provide extarction of command-line value
Added support for speed-up computation
Use NVI pattern for experiment. Make code less strange in some part