Merge pull request #3 from juliantaylor/analysis-fix

BUG: fix creating plots with less data than rolling minimum size
ENH: add a timing-not-changed counter

each time a benchmark is rerun in `min` mode and the timing is not
lower than the already recorded one a counter is increased.
If the counter is above `unchanged_rerun_limit` the benchmark is not
rerun again. This avoids rerunning stable benchmarks.
If the timing is faster than the recorded one the counter is reset to
zero.
ENH: add primitive transaction support

reduces time to register and update 300 benchmarks from a minute to less
than a second.
ENH: count number of times a benchmark was run

this allows using the ratio of nnochange and run count to judge how
stable a benchmark is and avoid rerunning stable ones.