Existing code for checking the nesting of workshare regions was not covering all the possible constructs that can be workshare constructs. This patch creates a new group of constructs for workshare constructs.
It extends the check to check during sections constructs as well.
Also adds a few test cases to verify the check.
Not sure why parallel is here. Remove if no test fails.