[MRG] tree: add min_weight_fraction_leaf stopping criterion

This PR adds a new decision tree stopping criterion: ``min_fraction_leaf`` that requires a minimum weighted fraction of the input samples to be present in all leaf nodes. This criterion is more appropriate than ``min_samples_leaf`` when you have weighted samples and many more samples of one class than another.

When using ``min_samples_leaf`` on a dataset with many more samples in class B than A, the splitting can be very biased on the larger sample B since it is mainly restricted by the size of that sample in each node, which will dominate over the the samples of the other class. Instead one should normalize the weights of the samples in each class separately and restrict the node splitting by some minimum fraction of the overall weighted sample size.

Grid-searching ``min_fraction_leaf`` is also more intuitive than ``min_samples_leaf`` since it doesn't depend on the sample size.

TMVA also recently deprecated their ``nEventsMin`` parameter (like our ``min_samples_leaf``) and replaced it with ``MinNodeSize``, implemented like this ``min_fraction_leaf``. See their docs on page 112: 

http://tmva.sourceforge.net/docu/TMVAUsersGuide.pdf

EDIT: the parameter is now called ``min_weight_fraction_leaf``
Here a suggestion for improvement:

```
* Balance your dataset before training to prevent the tree from creating a tree
  biased toward the classes that are dominant. Class balancing can be done by
  sampling an equal number of samples from each class, or preferably by
  normalizing the sum of the sample weights (``sample_weight``) for each class 
  to the same value. Also not that weight-based pre-pruning criteria, such as
  ``min_weight_fraction_leaf``, will be less biased toward the dominant class.

* Whenever you use sample weight, it will be easier to optimize the tree
  structure using weight-based pre-pruning criterion such as
  ``min_weight_fraction_leaf``, which ensure that ensure that leaf nodes 
  contain at least a fraction of the overall sum of the sample weights. 

```