Raw.xs: avoid warnings when using undef to mean NULL
Raw.xs: support returning strings from callback

For callbacks, cannot use a plain string as a return value because
the data pointed to by the string pointer will be free'd by Perl
before it gets to the C code.  Instead use a reference to a string,
which (if not anonymous, which we also check for), it will last
at least long enough to make it to the C code.  The user still needs
to make sure the reference in Perl outlasts the usage in C, but
well behaving C code should copy the string buffer if it needs to
keep it anyway.
test case for ptr
Raw.xs: support pointers returned from callbacks
Raw.xs: callback that returns \undef for string should be translated into NULL
Raw.xs: allow plain strings to be returned by a callback
Callback.pm: document string caveat
minor clean-ups
Changes: update
deps: use libffi 3.1-rc1 release instead of git submodule

The configure script has been removed from libffi.git.
Changes: update
v0.29

 - Avoid warnings when using undef to mean NULL (GH#44) (thanks, @plicease!)
 - Support returning pointers and strings from callbacks
   (GH#42) (GH#43) (thanks, @plicease!)
 - Update to libffi 3.1-rc1 (should hopefully fix a few build failures)