Refactored the work group-related attributes to use a template, which reduces the amount of duplicate code in the handler. No functional change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@196165 91177308-0d34-0410-b5e6-96231b3b80d8