ENH: sparse/sparsetools: replace SWIG by manual wrappers
BLD: sparse: update sparsetools build
MAINT: update gitignore re sparsetools
ENH: sparse: split sparsetools to smaller compilation units
ENH: sparse/sparsetools: better autogenerated code + comment the code better
MAINT: sparsetools: delete unused files
BLD: sparse: fix sparsetools depends
BUG: sparse: fix const declarations in generate_sparsetools
BUG: sparse: strip out forgotten things from generate_sparsetools
DOC: sparse: fix inaccurate comment in sparsetools.cxx
BLD: sparse: check return value of generate_sparsetools.py on build time
TST: sparse/sparsetools: fix location for test_throw_error
BUG: sparse/sparsetools: Py3 fixes
BUG: sparsetools: fix compilation on OSX

Python.h apparently needs to be included before C++ headers for some
reason.
BLD: fix Bento build after sparsetools wrapping changes.
MAINT: rename scipy.sparse.sparsetools to _sparsetools to avoid problems

Installing over a previous Scipy installation causes problems, as
sparsetools is not a package any more. Therefore, change the name.

At the same time, mark the module for internal use only.
WHT: sparse: pep8 fixes
DOC: sparse/sparsetools: fix errors in comments
ENH: signal: add detrend=False as parameter for periodogram and welch
TST: add test for signal.welch(detrend=False).

Also some style cleanups.