WIP: Gallop Mode for merge_hi().

The "problem" is that find_index() searches from 0 -> N and not the other way around.
Having a find_index_reverse feels inelegant, and adding a 'direction' param is ugly.
Implemented generator for uniformly distributed numbers with many duplicates.

The generator produces 'mean' different numbers over the specified range,
so the numbers are predictable in every run (20 numbers over range 100 will always
produce 0, 5, 10 etc) which is good for benchmarking but obviously not for simulation.

It is debatable whether 'mean' is the right number to use, but I had that handy and didn't
feel like adding yet another parameter (making the benchmark script more difficult to use)
or taking somethign from ENV (making it easy to forget or unclear where this variable comes from)

Now that I think of it, I should probably have some kind of 'benchmark.conf' file that has settings
for all the benchmarks to run so the script can just drive and not have to worry about a brazilian
different command line options.
Updated TODO section and added some musings on generating Real World Data