Add a DRF driver; support 2 different tree-build styles

Moves gobs of common code into Tree.java.
Support DRF.java for building distributed RF trees; major difference is
selecting columns by random
draw from active columns.
Missing in DRF: multiple trees; majority voting amongst trees.
Merge branch 'master' of https://github.com/0xdata/h2o