Fix processing of imports involving ATs with the new name parent code
Associated types in import lists require special care and the new name
parent code broke that. What's the problem? in the presence of ATs
the name parent relation can have a depth of two (not just one as in H98).
Here is an example:
class GMapKey a where
data GMap a :: * -> *
instance GMapKey Int where
data GMap Int v = GMapInt ...
The data constructor GMapInt's parent is GMap whose parent in turn is the
class GMapKey; ie, GMapKey is GMapInt's grand parent. In H98, data types
have no parents (which is in some places in the code represented by making
them their own parent).
I fixed this by extending the information in filterImport's occ_env and
taking the case of associated types explicitly in consideration when
processing the various forms of IE items.