This patch implements the following check for TEAMS construct:
OpenMP Version 5.0 Teams construct restriction: A teams region can only be strictly nested within the implicit parallel region or a target region. If a teams construct is nested within a target construct, that target construct must contain no statements, declarations or directives outside of the teams construct.
Also add one test case for the check.
This is only for OpenMP so it should be moved to check-omp-structure.h. Same for the two functions below. The check-directive-structure.h is meant to be shared bewteen OpenMP and OpenACC.