ENH speed up logistic_sigmoid (using less code)

Timings, before:

>>> x = np.linspace(-1000, 1000, 10000)
>>> %timeit logistic_sigmoid(x)
1000 loops, best of 3: 570 us per loop

After:

>>> %timeit logistic_sigmoid(x)
1000 loops, best of 3: 286 us per loop

For comparison:

>>> %timeit np.tanh(x)
10000 loops, best of 3: 117 us per loop
>>> %timeit .5 * (1 + np.tanh(x/2.))
1000 loops, best of 3: 301 us per loop

TODO: optimize log_logistic_sigmoid.
MISC: fix plot_multilabel example
FIX make BaseSGDClassifier an ABC
Merge pull request #2295 from larsmans/fast-sigmoid

[MRG] speed up logistic_sigmoid (using less code)
BUG: type->dtype in a cross-platform way
compute offset in a cross-platform way
BUG: don't subtract offset in binary_tree
add explicit types to neighbors cython code
DOC Remove deprecated reference + acknowledge @larsman
BUG: implement concrete __init__ for SGDRegressor
BUG: tests were raising the DataConversionWarning

It appears that when warnings are raised once, they are not reraised
in the tests, thus triggering a failure for the test checking for these
warnings
Merge branch 'pr_2304'

Conflicts:
	sklearn/linear_model/stochastic_gradient.py
Update typedefs.pxd with correct ITYPECODE
MAINT: recompile Cython files
DOC: add whats_new on the news
FIX for MSVC inline fmin, fmax and log2
FIX for MSVC inline fmax in dist_metrics
rearrange permutation_score parameters to match previous ones.
TST: adjust test relying on change order
Add LibSVM random state to changelog