This patch refactors the runtime support for GET_COMMAND_ARGUMENT to
have a single entry point instead of 2. It also updates lowering
accordingly.
This makes it easier to handle dynamically optional arguments. See also
https://reviews.llvm.org/D118777
STATUS is also optional, I think it also needs to have handleDynamicOptional so that the OPTIONAL POINTER/OPTIONAL ALLOCATABLE edge case are handled correctly (I think the current code might unconditionally dereference the descriptor in these case).