[MRG] use BLAS in scipy.spatial.distance (and waste less memory)

Alternative to #2815, q.v. for timings; plus, use `scipy.linalg.norm` (BLAS!) in `spatial.distance` instead of the naïve NumPy implementation.