avoid "uninitialized value" warnings in Carp

On older Perls, a call of the form $undef->() generates an "uninitialized
value" warning before dying.  The new overloaded-object logic in Carp
assumes the more modern behaviour, that the undefinedness causes an
exception directly with no separate warning.  To restore compatibility of
Carp to older Perls, check explicitly for definedness of $RefArgFormatter
rather than relying on the exception.