DOC: Fixes for doc/source/user/basics.io.genfromtxt.rst.

Add missing part of usecols negative index explanation and other
minor redaction fixes.
MAINT: Cleanup doc/source/user/basics.io.genfromtxt.rst.

Remove trailing whitespace.
Break long lines.
Fix some indentation.
Use the `::` directive to indicate interactive examples.
ENH: inv/solve work with empty inner and others empty outer array

This makes the inverse of a 0x0 array simply be 0x0 again. It
also modifies the no-empty array check in favor of a no-empty
*inner* array, since the gufuncs seem to handle the other case
fine.
ENH: For smaller array, added macro NPY_BEGIN_THREADS_THRESHOLDED in ndarraytypes.h
Avoiding NPY_BEGIN_THREADS for small arrays, can speed-up trivial_three_operand_loop by 5%.
As releases of GIL, then quickly restoring just after small operation doesn't benefit.
Merge pull request #3521 from arinkverma/gsoc_performance

ENH: Avoiding NPY_BEGIN_THREADS for small arrays can speed-up trivial_three_operand_loop by 5%
Merge pull request #3565 from charris/documentation-fixes

Documentation fixes for `basics.io.genfromtxt.rst` and `creation.py`
Merge pull request #3513 from seberg/0d-linalg

ENH: inv/solve work with empty inner and others empty outer array
add PyDataMem_NEW_ZERO which allocates memory with calloc
use PyDataMem_NEW_ZERO (calloc) for PyArray_Zeros

indirect PyArray_NewFromDescr to an internal variant which takes an
additional argument whether to allocate zero initialized memory and use
that for PyArray_Zeros.

PyDataMem_NEW_ZERO uses calloc which will take advantage of the fact
that most operating systems provide already zero initialized memory
blocks on larger allocations.
Additionally this memory can be sparse (= mapped to a single zero page)
on some systems (e.g. linux) reducing memory usage of applications
using sparse arrays.