C: protect empty extern sym stash

repo only in my darwin laptop (special Encode version I guess)
1.45_08: Replace each %hash with foreach keys (#307)

In B::C, Bytecode and CC.
The big issues were only hash traversal (B::HV::hwalk) in Bytecode
and B::walksymtable in B::C
CC: keep each %$declare
C: save @ISA of considered packages, esp DynaLoader

Fixes the ISA dependent #308 bugs. Not the %Config Errno.pm related bugs

add t/issue308.t
each-hash: skip new B::C::walksymtable also
de-randomize all foreach keys to sort

we better have predictable and comparable hash key ordering (syms, packages, ...)
C: force xs_init of PerlIO::scalar (95)

without (test 95):
Considering PerlIO::scalar
Delete PerlIO::scalar
Considering PerlIO::scalar
Deleting PerlIO::scalar from %INC
Cached PerlIO::scalar is already deleted
mark PerlIO::scalar (forced)
Considering PerlIO::scalar
Cached PerlIO::scalar is cached
%include_package: AutoLoader Carp Config DynaLoader Encode Errno Exporter Fcntl IO IO::File IO::Handle IO::Seekable IO::Select IO::Socket IO::Socket::INET IO::Socket::INET6 IO::Socket::IP IO::Socket::IP::_ForINET IO::Socket::IP::_ForINET6 IO::Socket::SSL IO::Socket::SSL::PublicSuffix IO::Socket::SSL::SSL_Context IO::Socket::SSL::SSL_HANDLE IO::Socket::SSL::Session_Cache IO::Socket::UNIX Internals LWP LWP::UserAgent List List::Util Mozilla Mozilla::CA Net::IDN Net::IDN::Encode Net::LibIDN Net::SSLeay POSIX POSIX::SigAction POSIX::SigRt POSIX::SigSet POSIX::Termios PerlIO PerlIO::scalar Scalar::Util SelectSaver Socket Socket6 Symbol Tie Tie::ExtraHash Tie::Hash Tie::Hash::NamedCapture Tie::StdHash UNIVERSAL URI URI::_idna URI::_idna::_ENV_ URI::_punycode XSLoader __ANON__ bytes bytes_heavy.pl constant integer mro threads utf8 warnings warnings::register
skip xs_init for PerlIO::scalar !$INC{PerlIO/scalar.pm}
@dl_modules: mro IO Fcntl Socket Net::SSLeay List::Util POSIX B::Flags Tie::Hash::NamedCapture PerlIO::scalar
no dl_init for PerlIO::scalar, not marked

with:
Considering PerlIO::scalar
Delete PerlIO::scalar
mark PerlIO::scalar (forced)
Considering PerlIO::scalar
Cached PerlIO::scalar is cached
%include_package: AutoLoader Carp Config DynaLoader Encode Errno Exporter Fcntl IO IO::File IO::Handle IO::Seekable IO::Select IO::Socket IO::Socket::INET IO::Socket::INET6 IO::Socket::IP IO::Socket::IP::_ForINET IO::Socket::IP::_ForINET6 IO::Socket::SSL IO::Socket::SSL::PublicSuffix IO::Socket::SSL::SSL_Context IO::Socket::SSL::SSL_HANDLE IO::Socket::SSL::Session_Cache IO::Socket::UNIX Internals LWP LWP::UserAgent List List::Util Mozilla Mozilla::CA Net::IDN Net::IDN::Encode Net::LibIDN Net::SSLeay POSIX POSIX::SigAction POSIX::SigRt POSIX::SigSet POSIX::Termios PerlIO PerlIO::scalar Scalar::Util SelectSaver Socket Socket6 Symbol Tie Tie::ExtraHash Tie::Hash Tie::Hash::NamedCapture Tie::StdHash UNIVERSAL URI URI::_idna URI::_idna::_ENV_ URI::_punycode XSLoader __ANON__ bytes bytes_heavy.pl constant integer mro threads utf8 warnings warnings::register
@dl_modules: mro IO Fcntl Socket Net::SSLeay List::Util POSIX B::Flags Tie::Hash::NamedCapture PerlIO::scalar
bootstrapping PerlIO::scalar added to XSLoader dl_init