Plan: minor refactoring of loc_map computation
Plan: some fixes and documentation for staging info
Plan: add some documentation for colouring
Plan: add docstrings for properties
Docs: add plan documentation
Docs: add PyOP2 colouring diagram
Docs: insert PyOP2 colouring diagram into plan
Merge pull request #335 from OP2/doc/plan

Add plan documentation
Make par_loops properly collective again

On CPUs, code compilation is now a collective operation (we only build
the code on rank zero).  As a result, we can't short circuit
computations for zero-sized sets since we may be left with an empty code
cache.

On device backends, _compute now returns early if the partition is zero
sized, since the Plan does not know how to deal with zero sized
partitions.
Merge pull request #340 from OP2/fix/parallel_compilation

CPU code compilation is collective and therefore compute calls in the
par_loop must all hit the compilation code path, even if the iteration
space is zero-sized.
README: clarify how to upgrade PETSc if necessary
Ignore PEP8 E265 (enforces blank after # in comment)
Sanitise for tougher pep8 1.5 rules
fix jacobians for extruded interval cells
Merge pull request #341 from OP2/origin/jacobian_fix

Fix Jacobian computations for extruded quads.
Create directory for code dumps if it does not exist
Fix dumping generated code for device backends
Reverse order of iteration space variables in AST plan
Remove static from variable declarations in CUDA kernels

These are not allowed in __device__ and __global__ functions and
cause nvcc compile failures. The IR AST code generator takes care of
that, but we still need to fix it for kernels handwritten as C
strings.
Remove burgers demo

This demo is broken and not used as a regression test. Prevent
further bitrot by removing it.