[MRG] Sample weights for gradient boosting

and piggy-packed ``'exponential'`` loss for binary classification (= AdaBoost).

~~I didn't implement sample weights for ``'lad'``, ``'huber'``, and ``'quantile'`` since it would require weighted median / percentiles. I will either raise a warning or exception in this case: what do you prefer?~~

cc @glouppe

TODO: ~~benchmark benchmark and some regression tests~~
> Actually it would even be better to check that samples_weight = {None, np.ones(n_samples), 2 * np.ones(n_samples)} lead the exact same predictions (for a fixed random_state).
+1