BUG: cluster.linkage array conversion to double dtype
Sort netcdf variables in a Python-3 compatible way

The previous implementation ran into issues with comparing different
types (tuples and bools).

Also simplified the sorting, since Python 2.3 support is no longer an
issue.
Add test for zero dimensional netCDF variables
Ensure isrec always returns a boolean
Placate irritating pep8 checker
Fix for #3596: Make fftconvolve threadsafe
Consolidate duplicated code in fftconvolve
Fix small typo in comment
ENH: Added support for date attributes to io.arff.arffread

Requires numpy >= 1.7
Throw exception of date attribute contains time zone information

Updated unit tests
Skip datetime tests if numpy < 1.7.0
Skip setUp when numpy < 1.7.0
BUG: Python 3 bytes types stored as '>c' in the same way python 2 did.

These two global attributes are now the same:

  'ran away' and b'ran away'

From ncdump -h

  :robin = "ran away" ;

Python 2 returns a string for ``_attributes['robin']`` and python3 returns
bytes.  So, python 3 users can deal with the encode()/decode() pain like any
other binary string.
ENH: support appending to netcdf files (mode='a')

Allows one to open an existing netcdf file for reading and writing.  This
patch includes the patch for global attributes of type bytes. As the netcdf
file can not be rewriten without bytes strings being dealt with in python 3.
TST: add a lobpcg regression test from an old scipy-user mailing list post
DOC: complete signal functions listed in reference guide.

Also edit some docstrings, and add a missing __all__ dict.
DOC: update fftpack entries in refguide.
MAINT: add tools/refguide_check.py, which helps check for missing objects in docs.
Reraise exception on failure to read mat file.

When loadmat cannot even open the requested file, rethrow the exception
raised by (the first) open() (which could be FileNotFoundError or
PermissionError) rather than wrap it in OSError.

Fixes #3700.
Keep pep8 happy.