Improve pretty printing of IfaceAT in interface files
Fix marshalling of IfaceAt to and from interface files

I had forgotten about Note [CoAxBranch type variables] in CoAxiom

This patch fixes Trac #8500
Comments on mi_usages
Fix checking of shadowed names (fixes Trac #8499)
More comments on Usage and Dependencies
Comments and reorg only