C,CC: disable -fcog, replace by -fconst-strings

refactor save_pv_or_rv to return if static
handle shared_hek, READONLY and #141 (!SvLEN in 2iv) in save_pv_or_rv only
Even static_free and SvFAKE_off post handling.

Unify all PV handling code to use just save_pv_or_rv()
move %optimization_map up, the the global init.
CC: replace -fcog by -fconst_strings, even with >5.10 (does not work yet)

POD: -fcog is now ignored and reserved for a future working IsCOW (5.22 maybe)
CC: fix IO::*::DESTROY in global cleanup

Ensure a cv->START->op_next exists for
S_curse: CvSTART(destructor)->op_next->op_type