Add Kruskal-Wallis test

This may be slow for large datasets with many groups, since `split` appears to create a lot of `Vector{Any}` temporaries. Not sure if we should really care about performance at this point, but it would be faster to compute these sums directly by explicitly looping over `ranks`.