This is in preparation for fetching informations directly from
the module instead of specifying them on the cmdline. It will
serve us better as it will mimick more accurately the way lldb
is behaving.
This refactoring moves the validation of the modules earlier
so that we can use the validation info to create the CompileUnit.
<rdar://problem/38867076>
`ASTSection_ObjC` tests may be run on any number of operating systems,
not just Linux. No matter the OS, these tests rely on Objective-C being available.
Check for that instead of the OS.