Use float as percentage in min_samples_split and min_samples_leaf of DecisionTree

A float number can be used as percentage in these two parameters in case the sample size varies greatly.

I found a new parameter `min_weight_fraction_leaf` is added recently. It works in a similar way. But it is still convenient to use float in `min_samples_split` for those sample without weighting.
Why forcing 0.5 as an upper instead of 1.0? Values from 0.5 to 1.0 are valid and would correspond to the case where we have a single node which is a leaf. I would document this behaviour but not prevent it.