Correctly detect too few args given to constructors

When calling a C constructor that does not expect any arguments, the Perl
wrapper expects only the class name as an argument, following the usual
"Package->new" convention.  Incorrectly using "Package::new" instead previously
resulted in a confusing error message due to an unsigned integer overflow.
Fix a few integer conversion issues

Most of these changes just hush compiler warnings, but some also assert
formerly implicit assumptions.
Properly convert Perl callback return values on big-endian systems

ffi expects certain return value semantics that we were not satisfying.  This
lead to incorrect conversions on big-endian systems.

https://rt.cpan.org/Ticket/Display.html?id=98463