MAINT remove unnecessary NULL check before free()

See 8708ad91fffd972313f4bf97a93869e57b058767 for rationale.
MAINT const for strings in TNC

This is just cleanup, not a semantic change.
MAINT: ndimage: malloc casts, NULL checks before free

See 8708ad91fffd972313f4bf97a93869e57b058767 for rationale.
Only convert array if needed
Add benchmark for large matrix multiplication

Closes #4203
Merge pull request #4281 from justhalf/fix/issue4203

Sparse matrix multiplication: only convert array if needed (with proper fix branch)
BUG: integrate: odeint crashed when the integration time was 0.

When only a single time point (or only a single repeated time value)
was given along with the argument full_output=True, a KeyError was
raised because the _msgs dict didn't have the key 1 (the 'istate'
value returned by the Fortran solver when no work was done).

Closes gh-4282.
Merge pull request #4246 from larsmans/c-fixes

MAINT: C fixes
TST: add unit test for stats.kstat, was not yet covered.

`kstat` still needs full review, see Statistics Review issue gh-675.
MAINT: add .idea/* (PyCharm config files) to .gitignore
MAINT: style cleanups in stats/stats.py and stats/morestats.py
TST: fix last signification digit in expected results for stat.kstat test.

Addresses review comment from Warren on PR 3680.

[ci skip]
DOC: linalg: fix layout in cholesky_banded docstring

[ck skip]
Merge pull request #4291 from ev-br/doc_cho_banded

DOC: linalg: fix layout in cholesky_banded docstring
MAINT: != -> not_equal in hamming distance implementation
TST: spatial: regression test for gh-4290
Merge pull request #3 from larsmans/hamming-unequal-length

TST: spatial: regression test for gh-4290
Merge pull request #3680 from rgommers/stats-cleanup

Some cleanups in stats
Merge pull request #4293 from argriffing/improve-hamming-error-message

MAINT: != -> not_equal in hamming distance implementation
Merge pull request #4284 from WarrenWeckesser/bug-odeint-single-time

BUG: integrate: odeint crashed when the integration time was 0.