Decision tree bug fixes

1) Inconsistent aggregate (agg) indexing for unordered features.
2) Fixed gain calculations for edge cases.

Other updates, to help with tests:
* Updated DecisionTreeRunner to print more info.
* Added utility functions to DecisionTreeModel: toString, depth, numNodes