Feature/improve enumerator

This patchset improves current enumerator code in a number of ways and comes with a benchmark. See commits for specific improvemnts. Benchmark for fetching 10k -> 30k elements

Before:
```
[info] ::Benchmark Enumerator.enumerator::
[info] cores: 4
[info] hostname: greyskull
[info] jvm-name: Java HotSpot(TM) 64-Bit Server VM
[info] jvm-vendor: Oracle Corporation
[info] jvm-version: 24.65-b04
[info] os-arch: amd64
[info] os-name: Linux
[info] Parameters(size -> 10000): 266.822627
[info] Parameters(size -> 20000): 555.617964
[info] Parameters(size -> 30000): 832.7517
```
After:
```
[info] ::Benchmark Enumerator.enumerator::
[info] cores: 4
[info] hostname: greyskull
[info] jvm-name: Java HotSpot(TM) 64-Bit Server VM
[info] jvm-vendor: Oracle Corporation
[info] jvm-version: 24.65-b04
[info] os-arch: amd64
[info] os-name: Linux
[info] Parameters(size -> 10000): 31.749063
[info] Parameters(size -> 20000): 32.342624
[info] Parameters(size -> 30000): 31.945402
```
I think you will agree that this is a nice improvement.