Tree sparse improvement 3

You'll find here the last batch of optimization and bug fix.
I have added a random splitter for sparse input (thus extra trees should work now).

You can merge it.