This operation walks the AST looking for empty modules/namespaces and removes them. A namespace is empty even if it just has Forward declarations in it. Note that any types referring to these forward declarations will still have the correct name, and will probably point to the correct (non-forward) declarations anyway since Unduplicator is usually before EmptyNS.