initial commit of OCL CloverLeaf
updated update halo kernel for OpenCL 1.1

Change BarrierWithWaitList to WaitForEvents
updated input deck for Nvidia GPU
reimplemented the cpu reduction

reduction structure is now built once in CloverCL as per GPU reduction
then field summ adn calc dt just scroll through the vector of kernels

answers are still correct on the GPU
Modified makefile to define CL_USE_DEPRECATED_OPENCL_1_1_APIS to force

Intel OpenCL to use v1.1 instead of 1.2
checked new CPU reduction on Intel CPU and answers are correct
updated inpute deck
changed input deck back for GPU
cleaned up the calc_dt kernel re reduction and error messages

answers are still correct
tidied up the code in field summary ie removed the commented out code etc

answers are still correct on the GPU
removed the macro to deal with the situtation where we dont fix a

local wg.
Going to force a use to fix a wg
initial implementation of the merging of the first level of the reduction

into calc dt and field summary
answers are correct
implemented minor optimisation to calc_dt knl and field summ knl

also deleted commented out code
answers are correct
added a preprocessor value for the local workgroup size in x

this now needs to be set in the makefile before compilation
answers are still correct value initially set to 256
added a test for device type = accelerate ie phi

to the method to build the reduction structure objects
answers are correct still on the gpu
implemented inital version of the cpu reduction in the kernels

just looping on the first thread
current seg faults at end of load program method
updated input deck
modified calc_dt and field_summ so that only eliminate the bottom

two rows in the internal reduction
answers are still correct but the method is more correct
added a CPU specific reduction to the internal reductions in the other kernels

seg faults are all fixed and the results are correct
however the application terminate 1 step too soon
potential problem need to look at not using local memory at all for cpu reduction
initial commit of the manual comms buffer packing kernels

implemented new pack and unpack device side kernels
as well as a new host side kernel to coordinate things
make changes to CloverCL to read the new kernels in
and the makefile to compile and link correctly
also brought clover.f90 up todate with approach in latest mpi version

removed the old approach from code currently although files are still there

currently untest or not even compiled
fixed typos in Makefile and comms_buffers_kernel_ocl

also had to add bakc in the original read_ocl_buffers as teh visit call still use this