Language: Improve backward compat for inherit specifiers.
Inherit specifiers are now only looked up in indirect
inherits when not found as any direct inherit:
The priority order is as follows:
1: Direct inherits in the current class.
2: The name of the current class.
3: 1 & 2 recursively for surrounding parent classes.
4: Indirect inherits in the current class.
5: 4 recursively for surrounding parent classes.
Note that a deep inherit in the current class trumphs
a not so deep inherit in a parent class (but not a
direct inherit in a parent class). To select the deep
inherit in the parent class in this case, prefix it
with the name of the parent class.
This should be fully backward compatible except for the case
where there's a deep inherit with the name "this_program".