sparse vectors increase tree creation speed by 400x

This is a tiny change to allow the usage of sparse vectors (http://en.wikipedia.org/wiki/Sparse_vector) and it has huge speed implications. To demonstrate these I've created SparseVectorTest.java if you run it you will get something like:

Training with sparse vectors took: 4 milliseconds
true=0.503 false=0.497 
Training with dense vectors took: 1650 milliseconds
true=0.503 false=0.497 
Ah, does that mean that this pull request is now redundant?