Fix accuracy issues caused by floating-point rounding errors.

t-digests rely on the assumption that the average between x1 and x2 is
necessarily between x1 and x2 given that their weights are positive. This is
unfortunately not the case if x1 and x2 are close enough and the computation of
the average results in a loss of accuracy. ArrayDigest was particularly prone
to this issue given that on a given page, it sequentially searches for the
first centroid that is greater than or equal to the value to add, so on each
page, floating-point rounding errors can propagate to the left.

Close #25
Merge pull request #36 from jpountz/fix_array_digest_accuracy

Fix accuracy issues caused by floating-point rounding errors.