[MRG] COSMIT refactor tree prediction

Probability or best class label is now calculated for each tree node, rather than each sample, and `Tree.predict_leaf()` returns only node indices, replacing `Tree.predict()`.

Yes, more deletions than additions :)