[test] Benchmark: rng.next_block() returns NDArray
[test] Benchmark: BlockGen takes NDSize blocksize
[test] Benchmark: make_block() returns NDArray
[test] Benchmark: remove vector<T> from make_block
[test] Benchmark nix::dtype_dispatch can return
[test] Benchmark: make_block does not depend on T
[test] Benchmark: BockGen does not have T param
[test] Benchmark: make BlockGen single threaded

And change how it works: Preallocate bufsize blocks and
then randomly return one of these on next_block().
Merge pull request #394 from gicmo/bench_ndarray

Benchmark: de-templatize BlockGenerator