Create new method Kohana::init_modules()

This PR splits the module initialisation functionality from Kohana::modules() and places it into its own method called Kohana::init_modules().

Previous PRs to the 3.4/develop branch has forced Kohana::modules() to be called in the bootstrap before any classes are used. This causes a problem because a few things need to be done before the modules are initialised such as attaching a config object to Kohana::$config (the userguide uses this for example https://github.com/kohana/userguide/blob/3.3/master/init.php#L12).

To fix this problem, the method Kohana::init_modules() can be called after everything has been set up for init files in the bootstrap.