Reduce deps for elaborate_namespaces
Summary:
Split some elaboration deps to ensure Rust migration does not have new blockers,
now that elaboration has been rewritten and moved to naming.
Some new dependencies of `attributes` come from `Attributes.deprecated` function,
which is incidentally used only from `decl.ml`, so split `Attributes` module into two,
so that `elaborate_namespaces` does not depend on unported code.
Differential Revision:
D18314639
fbshipit-source-id:
1ac695df6d10e6e7ce403b232e35af851950aa0a