More complete handling of padlists for XSUBs.
[Code by Zefram, commit message by Nicholas]
Following discussion with Zefram on IRC, I agree that his code is more
correct than mine. Prior to the use of the CvPADLIST slot on an XSUB for
binary incompatibility detection, cv_undef() would unconditionally treat
CvPADLIST() as a pointer to a padlist structure (on both PVCVs and PVFMs),
walking it and calling the relevant free functions. Hence on those versions,
CvPADLIST could not be anything other than a legitimate padlist, else the
interpreter would crash. So we should be consistent and calculate the size
on the same basis.
CPAN #102909