[flang][OpenMP] Add semantic check for close nesting of master regions
This patch implements the following semantic check:
A master region may not be closely nested inside a work-sharing, loop, atomic, task, or taskloop region.
Adds a test case and also modifies a couple of existing test cases to include the check.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D100228