BUG: #4256: f2py, PyString_FromStringAndSize is undefined in Python3.

Use PyUString_FromStringAndSize defined in npy_3kcompat instead. Not
using bytes may cause some problems, but strings seem like a better
choice. As modules generated with current f2py error out, this
particular use is not common and we are free to choose.

Closes #4256.
Mention `compress` in `take`'s See Also docstring

closes #3620
Update c-api.array.rst

Add a note explaining the ``out`` parameter of some functions.
BUG: #2408, Fix f2py Python 3 error message string bug.

The original was generating an exception message and, after aliasing,
calling PyBytes_AsString on a unicode string -> error. It was also
leaking references, although that probably didn't matter in context.

The fix here is on the cheap side, just use a C string for the message
without including the extra information about the erroneous type that
led to the exception.

No test, I don't know how to evoke this error.

Closes #2408.
Merge pull request #4313 from MarcCote/master

Update c-api.array.rst
Merge pull request #4309 from venthur/master

Mention `compress` in `take`'s See Also docstring
DOC: Remove \n from strings in plot examples.

The \n occur in plot titles and mess up the generated html. An
alternative fix would be to use a raw docstring or \\n, but here
it looks simpler to just delete the problem.

Closes #4092.
Merge pull request #4316 from charris/fix-gh-4092

DOC: Remove \n from strings in plot examples.
BUG: fix initialized half sum

pairwise summation added in 1.9 broke half sums if the first element is
initialized non-zero. E.g. d += x
DOC: Remove close method from memmap docstring.

Memmap objects no longer have a close method.
Merge pull request #4325 from charris/memmap-has-no-close

DOC: Remove close method from memmap docstring.
BUG: Index arrays need to be cast with SAME_KIND or FORCE casting

When checking index arrays for out of bound values, safe casting
was used. In principle this is unsafe, but we need to support indexing
with a 64bit integer array on 32bit systems.

Closes gh-4328
Merge pull request #4329 from seberg/index-casting-rule

BUG: Index arrays need to be cast with SAME_KIND or FORCE casting
Fix seterr example for resetting to old settings
Merge pull request #4321 from juliantaylor/half-sum-fix

BUG: fix initialized half sum
Merge pull request #4305 from charris/fix-gh-4256

BUG: #4256: f2py, PyString_FromStringAndSize is undefined in Python3.
Merge pull request #4315 from charris/fix-gh-2408

BUG: #2408, Fix f2py Python 3 error message string bug.
TST: do not use "ignore" to filter warnings

When a warning is ignored (or raised once) in python, the warnings
module will tag on a `__warningregistry__` dictionary to be able
to filter these warnings in the future. This is tagged on to the
current context, causing leakage to later calls (this is a bit
more complex, since where the registry ends up depends on the
layers between the original caller and warner).

In short, tests should typically not use ignore but catch the
warnings to avoid changing the user experience (or errors
on duplicate test runs).

Fixes an error on duplicate test runs (does not remove all
"ignores" which may change behaviour outside tests).
Closes gh-4340
Merge pull request #4342 from seberg/issue-4340

TST: do not use "ignore" to filter warnings
BUG: Fixes #2799
Use `np.sort` instead of `sorted` when the input is a list and no indices
are requested. Fixes #2799.