Store ModuleImport-related nodes in a WeakHashMap instead of a Set, to
avoid a memory leak when applying incremental build on
structurally-equal module descriptors.
These nodes are referenced as long as required by the current
typechecker phasedUnits, so we won't loose them.
Clear the annotation lists of descriptors before building them again
(since annotations are stored in a list). This is to allow incremental
build of structurally-equal descriptors without duplicating the
annotations.