Continuous decision attributes

This is a large change to the code. It unifies the underlying tree model of both decision and regression trees. It also enables continuous attributes for decision trees.

There is now much more shared code between the kinds of trees, and everything should be a little more robust.