Key changes:
- Refactor the createTargetData function to make use of the emitOffloadingArrays and emitOffloadingArraysArgument functions to generate code.
 - Added a new emitIfClause helper function to allow handling if clauses in a similar fashion to Clang.
 - Updated the MLIR side of code to account for changes to createTargetData.
 
Depends on D149872
This does not mention the deletion stuff, etc.