BUG: SVC fit() w/ class w/ all 0 sample weights.

Versions of LibSVM and LibLinear that support sample/instance weights
will remove all samples with 0 weight before training. If all samples of
some classes have 0 weight, the internal LibXXX model will think it has
that many less classes than the number provided to sklearn.

This caused issues with, for example, predict_proba returning
probabilities with the wrong shape in the last dimension.
TST: Improve SVC tests for sample_weight.

Tests now cover cases involving the wrong sample_weight shape and
classes whose samples have all 0 weight.
ENH: Update LibLinear sources w/instance weights.

Patches LibLinear sources to liblinear-1.94 with support for instance
weights.
ENH: Expose new LibLinear instance weight feature.
ENH: Generalize test_sample_weights for LinearSVC.

Scaled sample weights on a linearly-separable dataset cannot cause an
SVM with a linear kernel to misclassify the down-weighted points.

The modified test case changes the linearly-separable dataset to contain
a non-separable outlier. This outlier should be misclassified unless
sample weights are in fact taken into account.