[flang][OpenACC] do not load pointer and allocatables component in data clauses (#171445)
`gatherDataOperandAddrAndBounds` did not handle pointers and allocatable
pointer components (`obj%p`) in the same way as pointer and allocatable
whole objects (`p`).
The difference is that whole object are kept as a descriptor address
(`fir.ref<fir.box>`) in the acc data operation while components were
dereferenced (`fir.box<>`).
I do not think this was intentional, and is mainly a side effect of the
`genExprAddr` for components that generate a dereference for
pointer/allocatables.
In the work that I am doing on remapping components, this is an issue
because the data operation must return a fir.ref<fir.box> so that I can
remap any appearance to the component to it (which could be in a pointer
association statement for instance, requiring access to a descriptor
address as opposed to a value).