This patch introduces an MLIR attribute to the OpenMP dialect
representing the clauses that a 'requires' directive can define, with
the exception of the parameterized atomic_default_mem_order
clause. In that case, the existing omp.memory_order enumeration
can be used for representing its information instead.
The OffloadModuleInterface is also updated to provide methods to get
and set two new dialect attributes (omp.requires,
omp.atomic_default_mem_order) to store and use this information during
the lowering stages to LLVM IR.
Add a TODO for unsupported clause