Implementing BARRIER construct (GNU libgomp)

### 13.5 Implementing BARRIER construct ¶

      void GOMP_barrier_ext (int kind)
      void GOMP_barrier_cancel_ext (int kind)

kind should be `GOMP_BARRIER_EXPLICIT`. Other values are for implicit barriers resulting from parallel or work-sharing constructs.

`GOMP_barrier` and `GOMP_barrier_cancel` are kept for backward compatibility but new code only calls the `_ext` variants.

`GOMP_barrier_cancel_ext` should be used when the barrier happens within a cancellable construct.