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.
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.
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
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.