[flang][OpenMP] Centralize pushing/popping directive context (#204924)
Put calls to PushContextAndClauseSets to the Enter function for
OpenMPConstruct and OpenMPDeclarativeConstruct, and popping the context
to the corresponding Leave functions. This moves most of the context
handling to the top-level AST entries. This will allow more centralized
verification of common clause properties in the future.