rST markup fixes for pyop2.ir docstrings
Add IR user documentation
Docs: add PyOP2 architecture diagram
Docs: add section on PyOP2 architecture
Docs: describe general par_loop execution steps
Track loops sorrounding assembly
Add expression splitting
Check that the vectorizer has been correctly initialized
Docs: update backends introduction
Docs: host section for sequential/OpenMP backends
Docs: device section for CUDA/OpenCL backends
Docs: add device data state diagram
Docs: describe state transitions for device backends
Docs: add MPI docs
Docs: add local numbering section to MPI
Docs: add comp/comm overlap section to MPI
Docs: add halo exchange section to MPI
Docs: add diagram of decomposed MPI mesh
Docs: add section on MPI distributed assembly
Docs: mark sections in  MPI distributed mesh diagram