Changes to scala bench.

Fixes the rand issue and also cleans up the scala folder. Target doesn't need to be added to git ever.

I also added cold run and warm run averaging to the scala bench. Due to being an interpreted language with a JIT compiler, jvm bytecode can and will improve in performance the longer it runs. By having the bench warm up by running it for 4 seconds before the warm run averaging, I can show the true average performance of the JVM after it's been given time to analyze and JIT compile the bench. The worst-case bench time statistic helps drive this home. This measurement is almost always nearly 100-200ms greater than the average measurement, and its source is almost always from the initial run of the bench.

If the bench is too verbose like this, I can disable the level printing during the bench warmup period.