Resolving of extern declared symbols in deep inherits broken.

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=6063

Reported by @grubba

From the Pike mailing list (12549):

From: "[ks_c_5601-1987] άàäáæ" <zenothing@hotmail.com>
Resent-From: pike@roxen.com
To: "pike@roxen.com" <pike@roxen.com>
Date: Mon, 29 Aug 2011 20:08:39 +0800
Resent-Date: Mon, 29 Aug 2011 14:08:47 +0200 (CEST)
Subject: bug of "extern"
Parts/Attachments:
   1 Shown    41 lines  Text (charset: ks_c_5601-1987)
   2   OK     24 lines  Text (charset: ks_c_5601-1987)
----------------------------------------
[ The following text is in the "ks_c_5601-1987" character set. ]
[ Your display is set for the "iso-8859-1" character set.  ]
[ Some characters may be displayed incorrectly. ]

[peterpan@brain ~]$cat deepmixin.pike
class A{
        extern string s;
        extern string t;
        void p(){
                write("%O %O\n",s,t);
        }
}
class B{
}
class C{
        inherit A;
        inherit B;
        string s;
        string t;
        void pp()
        {
                s="a";
                t="b";
                p();
        }
}
class D{
        inherit C;
}
void main()
{
        C c=C();
        c->pp();
        D d=D();
        d->pp();
}
[peterpan@brain ~]$pike deepmixin.pike
"a" "b"
0 0
[peterpan@brain ~]$pike --version
Pike v7.8 release 352 Copyright ¢Æ 1994-2009 Link¢Æping University
Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are
welcome to redistribute it under certain conditions; read the files
COPYING and COPYRIGHT in the Pike distribution for more details.