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
BUG: spatial.distance: always convert to float in sqeuclidean

Integers are subject to silent wraparound in the subtraction and
squaring operations, as pointed out by @jakevdp. Some unnecessary
copying may occur, but any call where both arguments are float
arrays still only allocates a single temporary array.
TST: fix spurious test failure in linalg.  Closes gh-2945.
TST: fix spurious failure in signal.savgol_filter test.  Closes gh-2947.
Merge pull request #2948 from rgommers/macports-failures

Fix two MacPorts failures
BUG: sparse/arpack: build with second_NONE

Arpack doesn't need the timing routine for anything.  arpack-ng also
builds using second_NONE
BUG: optimize: stub out lbfgsb timer

Also the L-BFGS-B code doesn't really need to know the timings,
as they are not exposed by scipy.
TST: special: fix inf test to be compatible with old Numpy
Merge pull request #2825 from larsmans/blas-spatial-distance

ENH: spatial: use BLAS in scipy.spatial.distance.sqeuclidean
Merge pull request #2949 from pv/arscnd

Stub out timer routines in Fortran code