Make PPlan.echo __str__ method of _GenericPlan
Fix remove color dependencies between core/owned/exec_halo partitions
We need a plan for any indirect loop
Build a FakePlan if the iteration set is empty
Add MPI-specific plan unit tests
Fix for empty sets
Partition and color owned and halo exec sets together when no global reduction.
temp solution to ncolors_owned == 0