libclc: Define work_group_barrier (#184780)
Previously only the old barrier name was implemented. Define this
as an indirection around the new name, and move it to common code.
The target implementations are already provided by
__clc_work_group_barrier,
so targets were unnecessarily duplicating these.
This also fixes the default scope, which should be
memory_work_group_scope. Previously this was guessing that
if the flags included global memory, it makes the scope
device which is not the case.