Laziness
Adapt unit test to lazy evaluation
Do not run plan unit tests for sequential
add lazy evaluation unit tests
Cleanup

remove unused argument
Plan, various fixes
  Fix offset computation
  No longer assume partitions' first index is a multiple of the partition size
  Move offset computation in compute_partition
  Remove MPI specific properties
  Variable names cleanup
  Make PPlan.echo __str__ method of _GenericPlan
  Fix size of working arrays
  Fix thread colour count
  Fix type of thread coloring arrays
OpenMP: push colour iteration to python level
OpenMP: derive FakePlan from _GenericPlan
We need a plan for any indirect loop

Conflicts:
	pyop2/openmp.py
Refactor base.ParLoop::compute for MPI
OpenMP, propagate changes from base.ParLoop::compute
Adapt unit tests to refactoring
Fix, adv_diff_mpi demo stall
Propagate changes to device backend common code
CUDA, propagate changes from base.ParLoop::compute
OpenCL, propagate changes from base.ParLoop::compute
Add stupid demo
Fix stupid demo

fix spelling
remove unused variable
use public method instead of manually zeroing varea Dat
Refactor _trace and _force into a class
Remove debugging code