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
DOC: rename the shapes for randint distribution.

Make them match the numpy random_integer generator's.
DOC: rename the shape parameter for Von Mises distribution.

Now it matches the numpy one.
further signal tutorial enhancements
DOC: change the shape name for vonmises in stats tutorial
TST: Failure case for rank_filter.
BUG: Fix passing of origins in rank_filter.
Fixed integer division in indices.
added detrend and spectral estimation
Merge pull request #2923 from poolio/master

BUG: Handling of origins in rank_filter.
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.
Merge pull request #2927 from rgommers/broken-sphinx-issue

BLD: except clause for Sphinx import in setup.py should catch everything.