prepare the task collection for benchmarking only once and before the
warm-up runs
* implemented a simple conclusion storage to used as a cache in certain
situations (e.g. to not trace the same conclusion in the same context). 
* a simple mutable integer to stop using AtomicInteger unnecessarily
* swapping trace readers easily to customize inference traversals (e.g.,
to explore only first n inferences)