BLD: allow strings for check_func declarations

makes attribute checks more sane and allows adding nonnull
MAINT: annotate reference stealing and burrowed refs in multiarray

allows for better static analysis report with e.g. cpychecker
MAINT: add a few nonnull attributes to array creation functions

also fix wrong capi documentation of PyArray_NewFromDescr stating it
accepts NULL dtype while it does not.
MAINT: always use tuples for api index values

simplifies the generation logic a bit
MAINT: replace multiarray_global_vars_types by using tuples
Merge pull request #4637 from juliantaylor/api-annotate

annotate reference semantics of c-api