Initial support for target directives

Initial support for target directives (teams, target, distribute, declare
target, distribute parallel, distribute simd, distribute for, distribute
parallel for).

430c9ae8048dbadd07b3e4a1cdacc6b3fa040c1e by Alexey Bataev.
Fixed codegen for openmp loops

f9e2fd7640f8fc06ebe1ef2f065c6158f6b4b6ef by Alexey Bataev.
Bug fix for destructor call for auto generated vars

7580e521e51fd93d29f4196f18081bb452b60fb6 by Alexey Bataev.
Bug fix in codegen for omp task

46723233fa63dd879cdf629d598c7d9e9cd5da62 by Alexey Bataev.