First version of wrapper in XOMP for NANOS RTL support
First version for OpenMP loops support for Nanos++ RTL
Adds support for Nanox RTL for OpenMP sections and atomic construct
OpenMP loop lowering fix
Merge remote-tracking branch 'origin/royuelaalcaz1-nanox_rtl' into royuelaalcaz1-omp_dependencies

Conflicts:
	src/frontend/SageIII/sageSupport.C
	src/midend/programTransformation/ompLowering/Makefile_variables
	src/midend/programTransformation/ompLowering/omp_lowering.cpp
Merge branch 'master' into royuelaalcaz1-omp_dependencies
Merge branch 'master' into royuelaalcaz1-nanox_rtl

Conflicts:
	src/frontend/SageIII/sageSupport.C
	src/midend/programTransformation/ompLowering/Makefile_variables
	src/midend/programTransformation/ompLowering/omp_lowering.cpp
Fixes merge error cause because of the sage_support directory modification

It also addapts the Nanos++ outlining to the new version of the RTL
Merge branch 'royuelaalcaz1-nanox_rtl' into royuelaalcaz1-omp_dependencies

Conflicts:
	src/midend/programTransformation/ompLowering/Makefile_variables
	src/midend/programTransformation/ompLowering/omp_lowering.cpp
Include front- and mid-end support for OpenMP task dependencies

This commit includes the parsing process for the OpenMP task dependency clauses
and the generation of the AST nodes when Nanos++ is defined as the Runtime Library.

This commit does not include code generation for these clauses.
Add warning when task dependency clauses are used without Nanos RTL
Propagate task dependency clauses to the lowering process
Fix Nanox OpenMP for outlining

Two bugs were found with BOTS Sparse LU benchmark:
1) Loop boundaries were initialized at the begining of the outlined function.
   When a boundary depends on some local variable, this initialization fails
   because the local variable is not defined yet.
   Now, loop boundaries are defined immediately before the Nanos loop call,
   thus, all local variables are already defined.OB
2) In the outlined function, also because of a loop boundary initialized with
   some local variable, the parameters to the outlined function were not
   properly dereferenced.
   Specifically, the problem was that the variables replacement ocurred
   previously to the function body outlining. That entailed the ocurrences
   of the variable representing the boundary not being replaced by the
   corresponding member in the parameters struct.
Merge branch 'royuelaalcaz1-nanox_rtl' into royuelaalcaz1-omp_dependencies
Upgrade OpenMP parallel lowering for new Nanos RTL version

New RTL version requieres two new functions for the parallel construct
in order to enter and exit the team that is executing the parallel region
Uncomment the code gathering array size variables when lowering OpenMP tasks
Merge branch 'royuelaalcaz1-nanox_rtl' into royuelaalcaz1-omp_dependencies

It also adds the necessary parameters from XOMP to NANOS in order to properly
lower dependency clauses

We have renamed any ocurrence of 'nanox' by 'nanos' to be consistens.
The current library is called Nanox to make the difference with its previous version
called Nanos, but all the runtime calls are named with 'nanos', so we want to be
coherent with that.

Conflicts:
	src/midend/programTransformation/ompLowering/libnanox.c
Merge branch 'master' into royuelaalcaz1-nanox_rtl
Merge branch 'royuelaalcaz1-nanox_rtl' into royuelaalcaz1-omp_dependencies

Conflicts:
	src/midend/programTransformation/ompLowering/omp_lowering.cpp
Basic implementation of OpenMP Task Dependencies

It has been tested for dependencies containing basic types