1. added op_get/put_dat to C library for openmp and cuda. 2. added the same in fortran interface.
3. tested with openmp airfoil
Partial commit while implementing the op_arg for fortran.
Rebasing to get new version of the MPI interface.

In the meantime:
- introduced op_args for fortran
- modified fortran reference implementation to cope with MPI

Conflicts:

	op2/c/include/op_lib_c.h
	op2/c/include/op_seq.h
	op2/c/src/core/op_lib_core.c
	op2/c/src/cuda/op_cuda_decl.c
	op2/c/src/mpi/op_mpi_decl.c
	op2/c/src/sequential/op_seq.c
op_args for fortran, dumping op_dat into binary files

- Implement op_args for fortran and tested with MPI, MPI+CUDA and SEQ back-ends
- Implement dumping of op_dat into binary files for all back-ends
Add new run-time wrappers for plan function

Using CUDA and OpenMP plan callers in the same function (FORTRAN side only)
Add op_arg_gbl for logicals in fortran
Fix op_arg_gbl calls from fortran to c
Decrement mapping when using them in FORTRAN reference implementation
Fixe of FORTRAN wrapper for plan function to manage 1-to-N based mapping of FORTRAN
Currently duplicates the mappings but only when a new plan is needed.
fortran reference: add test of set size in fortran side
Fixed bug in FORTRAN reference implementation (type checking for reduction)
Partial commit of the FORTRAN side for MPI+SEQ and MPI+CUDA backends for HYDRA.
Fix bug in sequential op_par_loop implementation of MPI.
fix merge conflicts on FORTRAN side
Fix merge issues in hydra branch
- Test of Airfoil reference, CUDA, OpenMP, MPI+SEQ and MPI+CUDA for multiple back-end compilers (gnu, intel, and pgi)
- Move increment and decrement all mapping routines from op2_for_rt_wrappers.c to op2_for_C_wrappers
Added Airfoil FORTRAN OpenMP single node no HDF5 implementation
Added Airfoil CUDA single node no HDF5 implementation
Added Airfoil fortran reference with explicit op_arg_dat for python static translator
Fix MPI+SEQ by adding set dirty bit call when set size is zero
Added op2_hdf5_dummy.c