CART optimized

- CART code optimized
[Current performance benchmark](https://gist.github.com/mazumdarparijat/1caf9bee2ec1dbf9e07b)
I think that some of the methods below should be private instead of protected. It is a minor detail anyway, but do you see any class inheriting from CART or a friend class that will need to call them?