Fix lookup of ::x in topscope when topscope is not fully evaluated

When the scope gets a request for e.g. ::fqdn it goes on a search along
the milky way galaxy to find the scope for the class named "" (which is
the special "top scope class"), as the compiler is evaluating
expressions before having evaluated all of the things that eventually
contributes variables to the top scope, it can not find the scope for
the class named "". The class "" still exists at this point, but there
is no maping from name "" to the scope (and it cannot be registered
until it is fully evaluated since the registration also means that the
class has been evaluated (CATCH-22). 

To overcome the problem, scope now identifies the special corner case
of request is for ""::name, "" exists, but there is no scope for it, and
the request for ""::name was made to topscope, it is safe to then
perform the lookup as a local scope lookup.

At the same time this is fixed, there is a performance difference
between lookup of $::fqdn, and $fqdn and the defaults is changed to use
$fqdn.
Make the lookup function raise appropriate error on inactive bindings

When bindings are not activated (with --binder, or --parser future), the
lookup function tried to use classes in the Pops name space and fails on
uninitialized constant.

This fix changes that to raise a more meaningful message.