Ensure all macro generated code uses fully qualified names with _root_

I ran into a problem where the macro expanded in a nested package called `datomic`, which conflicted with the root package `datomic`. This commit should avoid any potential for ambiguity when macros are expanded. All generated code uses fully qualified names that can only resolve to top-level packages.