BLD: add check for C99 restrict keyword

Define it as NPY_RESTRICT
Restrict indicates a memory block does not alias, gcc supports it in c89
with the __restrict__ keyword.
Merge pull request #5137 from juliantaylor/restrict

BLD: add check for C99 restrict keyword