This was responsible for the cycle Core > ObjectFile > Core.
The only reason this dependency was here was so that Module could have a function called CreateJITModule which created things in a special order. Instead of making this specific to creating a jit module, I turn this into a function that can create a module for any type of object file plugin and forwards the arguments through. Since it is not instantiated in Core, the linker (and header file) dependency moves to the point where it is instantiated, which only happens in Expression. Conceptually, this location also happens to make more sense for a dependency on ObjectFileJIT. After all, we JIT expressions so it's no surprise that Expression needs to make use of ObjectFileJIT.
This change reduces the distinct cycle count from 38 to 37