Make a RETIOERR() marcro to handle IO errors.

This lets Perl_io_error() capture the IO function's arguments and its
return value.  Normally this cannot be done because both live on the
same stack.

It does assume that all IO functions return a single scalar, which I
think is true and we'll just go with it until its not.

It also means IO functions will have to store their return value
rather than intermittantly push it onto the stack, to preserve its
arguments.  I don't think this will be a big problem.  We'll find out.

For #11
Getting the NUMARGS macro right, for reals this time.

Can't use SP - MARK because dMARK modifies PL_markstack_ptr which
creates memory panics for `ok eval { truncate(...) }` so use
*PL_markstack_ptr directly instead.

Put all the users of NUMARGS back the way they were.
Fix Perl_get_args()... again.

I finally realized that SP is a stack, but av_make treats it as a list.
So you have to hand it SP less the number of args it's reading... plus one
for a reason I do not understand.
Make autodie wrappers conditional on the version of Perl.

Rather than removing functions completely from autodie, which will
break backwards compatibility with older perls, autodie will know
which functions have been implemented internally and skip the wrapper.

It also sets $^H{"autodie/$func"} = 1 to signal internally to use
autodie for that function.  is_autodie_enabled() has been changed to
look for that.  This allows autodie to be turned on and off per
function even if that function is implemented internally.

For #13 and #10
Implement autodie in chown().

Picked it because it has special error checking logic.
Make "no autodie" nested inside "use autodie" unset $^H{autodie/func}.

This is vital to the internal autodie implementation working.
CORE::blah will no longer work around autodie.

This will be a backwards compatability concern.  I don't think there's
anything to be done about it.
Add autodie to chown, kill, unlink, utime, chmod

These are all the IO functions which return the number of files
succeeded and thus need a little more logic to determine failure.