Add default implicit for Monoid[Array[A]].

Though there was an ArrayMonoid class, the implicit was missing. This
was just an oversight. The ArrayMonoid is now available implicitly.
First pass at CoordinateSpaces.

This adds a new vector space, CoordinateSpace. What a CoordinateSpace
adds is a "dimensions" field and a way to obtain values of the
components of a vector.
Add example of random forest implementation.
correct docs w.r.t. spire.syntax.radix
Fix bugs in random forest example + yeast dataset.

There were several bugs in the random forest example that were
discovered while testing quality of the random forest on 2 data sets.
This also adds a new data set to cross-validate as an example.
Additionally, the data sets are moved out into their own file.

On top of others, the decision to always split a region with more than
minSplitSize points was made. Before, if there error couldn't be
decreased, then we gave up. However, since axes are sampled, this was a
bad strategy. Especially for datasets like the S. cerevisiae one, where
a couple of axes are 0.0 for a majority of data points.
Reorganize random forest example.

I didn't like the way the code read, so I reorganized it so the
interesting bits were in the right order.
fix merge conflicts
Use `Rational` as field type in `Iris` data set.
Better described datasets & RF regression example.

This adds a new dataset for regression, along with an example testing
the regression capabilities of the RF example. We also made the datasets
more descriptive, which let's us automagically parse and load the
dataset, as well as converting categorical variables to binary strings
and the like.
Attempt to specialize RF example (failed attempt).

So, I can create specialized instances of RandomForest directly, but try
to use RandomForest.regression, and it won't use the specialized
variant. Needs to be looked at by better (ie. Erik's) eyes.
fix merge conflict
add spire-math ML to the README
Add Rex Kerr's benchmark example.
Easy constructor for additive/multiplicative groups.

This let's us easily grab the additive/multiplicative groups (and
monoids, semigroups) using, eg, Group.additive[Long]. It is nice because
we do not need to worry about the structure it comes from. For example,
Group.additive[Vector[Long]] works and you don't need to worry about
Module[Vector[Long], Long].
fix merge conflict
Commit mandelbrot set demo
clean up WellPrng and fix some bugs
fix merge conflict
fix other 2.9-backport issues