The Application addContext() method will not call
contextInitialize() if the module defining the context
has already been loaded. This is a problem if some
other module tries to import something the context
module prior to the context being added. The result is
that a context may be loaded without
contextInitialize() being called.
This patch fixes the above problem by calling
contextInitialize() if the module is not in a the
loaded self._contexts list, or if the module is being
re-loaded under a different name.
It goes on to also print out an error if there is a
problem with importing the module context.