Fix discrepancies in handling toplevel forms per CLHS 3.2.3.1

This patch makes compiler macros be consistently used in file compilation
subject of course to the stipulation that NOTINLINE disables them.
Previously the main compiler didn't use a compiler-macro if a global
functoid was both a macro and compiler-macro, and the use was toplevel.
The fopcompiler never used compiler-macros, toplevel or not.

Such behavior was opaque and inexplicable to users except by an explanation
involving discussion of the loader's DSL and what it is capable of versus
truly compiled - i.e. assembly language - code.
Even to document the kinds of forms that are amenable to fop compilation
as a "remedy" to this issue would be a brittle one.