[MRG+1] Faster depth-based tree builder by avoiding to splitting on known constant features in the sample subset

This is a resurrection of pr #2813. The idea is the same. If a constant feature is found while trying to split, the information is passed to the left and right child sub-tree which will avoid trying to search a valid split using this feature.

Here the invariant that the order of features index known to be constant is enforced by copying data in an auxiliary array `constant_features`.