Reduce loader load iterations and log shadowed modules

When loading module we process both the compiled and non compiled versions of the same module. We now skip the compiled version of the module if the non compiled version exists.
When an internal module is shadowed by a custom module we now log that at the trace level.