Changed function name in numpy.i

This commit addresses issue #1366 (Trac #768), which can be closed
with a successful resolution.

As per the request, I changed the function require_size(...) to
require_shape(...), as this is more consistent with the terminology
and what the function is doing.

I also added a new require_size(...) function that performs a check
that more accurately reflects the name.

All numpy.i tests pass.