Feature/open_cl_3D

Updates the OpenCL code generator to generate 3D applications.  The Cloverleaf 3D version has now been generated to correctly run as an OpenCL parallel implemetnation. All other backends also work (except the 3D Cloverleaf with OpenACC .. this will be fixed later).

Also this pull request includes commits in #15 
#15 pull request therefore will be removed