Fix a few OpenMP bugs.

* Allow to attach directives on Pass nodes.
* Make sure OMP directives are not lost/misplaced when held by the final
  statement of a block.