Reimplement to distributedly learn decision stumps. Sample points are aggregated on each partition to calculate metrics.
Add a TODO to solve the serious bug.
Add aggregating split metrics.
Change the partition-wise data set from Iterable[] to Array[]. Update SplitMetric class to defer calculation of votes. This is because we aggregate split metrics only using the split cut and the local edges, while votes and loss are calculated when split metrics have been merged.