Changes to CUDA mpi packing

The CUDA version used a different way of packing the MPI buffers as it was based on an older version of cloverleaf, now updated to use the same call interface as the C/fortran kernels (with an extra argument to tell the CUDA side which buffer to pack)