plan partitioning for mpi
Fix: no longer assume the index of the first element of a partition is a multiple of the partition size
Adapt coloring for MPI
(OpenMP) remove unused args from generated code
(OpenMP) push color iteration up to python
(OpenMP) add MPI support
fix openmp mpi
add plan debugging code
FIX coloring
Add mass2d MPI OpenMP regression test
Fix plan debugging code
Fix MPI plan for correct size (exec) of temporary arrays
Remove C-level assembly call from generated OpenMP code

We now do Mat assembly in the python par_loop computation, so no need
to do it in C.  This fixes an issue that only the first addition into
a matrix would contribute to its value structure.
Remove assemble_mat from mat_utils

Now that we no longer call assemble_mat from generated code, we can
remove it entirely from mat_utils.
fix staging construction code
(CUDA) add cpu/gpu transfers for halo exchange