Remove "static" from module_mutex and the modules list so it can be used byother builtin objects in the kernel. Otherwise, every code depending on themodule list would have to be put in kernel/module.c. Since the immediate valuesdepends on the module list but can be considered as logically different, itmakes sense to implement them in their own file.

The alternative to this would be to disable preemption in code path that needsuch synchronization, so they can be protected against module unload bystop_machine(), but not being able to sleep within while needing suchsynchronization is limiting.