Improve tests reproducibility.

This commit cuts over to randomizedtesting in order to run tests. In case of
failure, you get a seed that can be used in order to run the test in the exact
same conditions.

In case of a test failure, Maven will print a command that can be used to
reproduce the failure. For instance:

    1> NOTE: reproduce with: mvn test -Dtests.seed=4425CCB8984515D5 -DrunSlowTests=false -Dtests.class=com.tdunning.math.stats.TreeDigestTest
  FAILURE 0.03s | TreeDigestTest.testSingleValue <<<
     > Throwable #1: java.lang.AssertionError
     > 	at __randomizedtesting.SeedInfo.seed([4425CCB8984515D5:E8D29249EB298E59]:0)

I also moved some code that all TDigest tests impls had in common to
TDigestTest in order to make it easier to write a test case for a new
TDigest impl.