ENH: add PyDataMem_NEW_ZEROED which allocates memory with calloc
ENH: use PyDataMem_NEW_ZEROED for PyArray_Zeros

PyDataMem_NEW_ZEROED 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.
Merge pull request #3590 from juliantaylor/calloc

    use PyDataMem_NEW_ZERO (calloc) for PyArray_Zeros