mojo: Breakup metadata reading from module list setup.
This is to help support breaking ksb::Application's current state into a
backend portion and a user interface portion. Allowing for a
ksb::Application and ksb::BuildContext to be setup without having an
established module list can be helpful for introspecting modules to
include in a future build before actually commencing.