This makes it always throw a TypeError, moreover this makes the
error message consistent.
Added a warning mentioning that the second parameter is now ignored
when passed false.
Closes GH-5301
This assumes that `iterator_*` will now always throw or abort on failure.
Also, move #include _arginfo.h directive to the top of the file - virtually all
other files put it there, and developers may base code on basic_functions.c.
Closes GH-4968