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
small changes
BUG: warn that bounded method in minimize_scalar does no support relative tolerance

Only issue the warning if the tol parameter is given.
TST: linalg.qz test fails for complex64, so lower test tolerance.

Appears to be an ATLAS regression (3.8 is OK, 3.10 is not).  Closes gh-2842.
enhanced signal tutorial
TST: sparse: catch right error type

Numpy had a bug that caused a wrong error come up here; catch the right
one.
BUG: sparse: fix dtype casting in dok_matrix __add__ and __truediv__
corrected dB in amplitude response
further signal tutorial enhancements
Fixed integer division in indices.
added detrend and spectral estimation
BLD: except clause for Sphinx import in setup.py should catch everything.

Closes gh-2926.  The Sphinx version currently shipping with MacPorts for Python
3.2 seems broken, so while a bare except is not great style it's necessary.
Fixed integer division in indices.
BUG: io/wavfile: safer writing directly from buffer

Fixes gh-2928
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.
Included a call to set_iprint in TestODR.test_explicit
Made sure griddata docs are clear that it is D-dimensional and there are n points. It was ambiguous.
Fixed typo
TST: fftpack: remove check of successful overwrite

The overwrite may not happen if f2py decides to make copies e.g. due to
aligment. The purpose of the test is to check only that no spurious
overwrites occur.
TST: fix spurious test failure in linalg.  Closes gh-2945.