File object support for imread and imsave
BUG: limit input ranges in special.nctdtr
BUG: return nan when ncp is too large for cdftnc
Changed parameter naming and added test for file objects
BUG: fix scipy.io.mmread() of gzipped and bzip2ed files under Python3

fixes #2152
ENH: sparse: rewrite some lil methods in Cython for speedups
ENH: sparse: implement cythonized fancy setitem
ENH: sparse: use memoryview in _csparsetools
ENH: sparse: add scalar indexing fast paths to LIL
MAINT: sparse: document the _csparsetools.pyx file appropriately
MAINT: add _csparsetools to .gitignore
MAINT: drop Cython from .gitattributes (no longer in repo)
BUG: overflow in cumtnc.f

Fix an overflow bug in cumtnc.f. So the range of the nc parameter
is enlarged to [-1e6, 1e6]. However, a larger nc parameter may still
result in total loss of precision.
TEST: add test for the overflow bug in cumtnc.f
TST: test if fix for #2152 works
ENH: sparse/lil: minor improvements in LIL fancy indexing

As per review comments:

- explain and rename prepare_index_arrays
- indicate out-of-bounds column indices
- faster insertion in lil_fancy_get
- explain reason for preferring isinstance in scalar fast paths
Merge pull request #3222 from richardtsai/nctdtr_inf_loop

BUG: special: limit input ranges in special.nctdtr

There seems to be no efficient algorithm to calculate the
PDF of the noncentral t distribution in high accuracy when
the noncentrality parameter is large. The limitations will help
avoid overflows and give a reasonable approximation under
practical conditions.

This also avoids the code getting stuck in an infinite loop.
Merge pull request #3356 from pv/lil-speed-cy

ENH: sparse: speed up LIL indexing + assignment via Cython
MAINT: replace np.isinf(x) & (x>0) -> np.isposinf(x) to avoid RuntimeWarning
BLD: fix Bento build for addition of sparse._csparsetools extension.