Allows imports to be declared more than once.
Changes the semantics of AOT compiling.

Sharing a symbol table across separately compiled units must be solved
for AOT.  Since Sybilant is a dynamic language, we cannot statically
inspect the code to determine what symbols are imported, defined, and/or
exported.

Ultimately the way this information will be shared is through a symbol
table that is maintained at runtime as code is incrementally compiled
and loaded.

Until the compiler is running in the Sybilant runtime and can
incrementally compile and load code, multiple Sybilant files must be
compiled in a single instance of the compiler, and into a single output
file.