ENH: Use the scipy C-based L1 distance if possible

This also removes the need for the size_threshold
parameter, as scipy's implementation doesn't allocate
large temporary arrays.
fix factor of 2 in RBFSampler; make test more rigorous

http://nbviewer.ipython.org/gist/dougalsutherland/11fd9895924c3c1aed19
demonstrates the problem in pictures.
clarify KernelDensity.score{,_samples} docstrings
Merge pull request #3687 from perimosocordiae/fast-l1-dist

ENH: Use scipy.spatial.distance.cdist for L1 distance when possible
FIX allow ndim>2 in shuffle

Fixes #3694.
TST stronger test_shuffle_on_ndim_equals_three
Merge branch 'pr/3696'

Fixes #3696.
Merge pull request #3695 from dougalsutherland/kde-docs

DOC clarify KernelDensity.score{,_samples} docstrings
Merge pull request #3656 from dougalsutherland/fix-rbf-samp

FIX RBFSampler's incorrect bandwidth
fix the link of Out-of-core_algorithm
Merge pull request #3705 from floydsoft/patch-1

fix the link of Out-of-core_algorithm