ENH: scipy.spatial.distance: use BLAS and waste less memory

This module was using np.linalg.norm instead of the SciPy version,
which switches to BLAS when appropriate.

The change to sqeuclidean makes it four times faster for length-1e5
random vectors using NumPy 1.6.2 linked against ATLAS 3.8.4:

>>> %timeit ((u - v) ** 2).sum()
1000 loops, best of 3: 2.01 ms per loop
>>> %timeit u_v = u - v; np.dot(u_v, u_v)
1000 loops, best of 3: 552 us per loop