Don't run analyzeUsage if it was already run once.
Abstract class of PhasedUnits to allow storing Weak or soft references
Allow overriding the assignment of the PhasedUnits to
PhasedUnitOfDependencies.
Useful for the IDE.
Allow comparing LazyDeclarations and Declarations.
Now use Declaration.getModelClass() in equals() (to be overridden by the
compiler lazy Declaration-derived classes)
Merge pull request #839 from ceylon/For_finishing_ide_567

Necessary changes to finalize ceylon-ide-eclipse#567