.gitignore: Handle cross-compilation files better
Avoid compiler warnings by consistently using #ifdef instead of plain #if
Fix the prototypes of some functions without context

Their prototypes are (void), but the implementation was ()
Added missing prototypes.

This was mostly for XS functions defined in the core, but also
for a handful of functions in the :stdio layer.
sv.c: Remove leftover ifdef from the %vd format
sv,c, sv_cmp_locale_flags: flags is unused if locales are disabled
t/uni/fold.t: use &LC_ALL with & to avoid strict errors
File::Spec: Mopre extensive fix for #120593

The original fix only handled '.', this one handles all relative
paths.