C 1.46_06: Fix caching of kept packages, fixes t/perldoc.t > 5.20

fixes issue #346. We kept Cwd in the cache, but Cwd was not kept in %INC, so it was never booted.
update module tests for almost 1.47

detected one Clone regression in 5.20.0-nt, fixed in #125
Fix #125 regression (dl_init Clone), mark DynaLoader earlier

force_saving_xsloader in dl_init is too late, as the sections are all
already dumped then.
die then, but the real fix is force DynaLoader and XSLoader at the
CV->bootstrap save step much earlier.

In practice this only happens with short testsuite one-liners which
successfully deleted DynaLoader now with the improved cache logic.
t/modules.t: improve B::C/cc_harness fallback

use same optimization (-O3) in the fallback as with perlcc. when
perlcc failed
bump to 1.47
C: Fix for readonly magic hashes, usually found since 5.20 (#273)

SvREADONLY_off before all save_magic, and set afterwards.
with namespace::clean on 5.20 it was ~ magic
C: improve force DynaLoader handling

check %curINC is already dumped, not %INC.
use only mark_package("XSLoader", 1) and mark DynaLoader from there.
mark as dumped after walk_syms
TODO failing 5.20 tests
log.modules-5.020000-nt on darwin