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.