reorganize lookup of dynamic variables

The code before assumed that a dynamic variable always has an true-ish
value after it has been initialized. This was not true for $*TZ and
perhaps others. Now we have a candidate for INITIALIZE_DYNAMIC that
returns an exception, and we can check on that and fail.
Also I reordered the source files, so that we build Env.pm before
ThreadPoolScheduler.pm, since the ThreadPoolScheduler accesses
%*ENV<RAKUDO_MAX_THREADS>. This used to cause a hang when building
RESTRICTED.setting on my box.