Fix a major (two-headed) bug having to do with Mara and MPI

1. Mara/Makefile did not build mara.cpp with the DEFINES macro. This
   lead to the subgrids.hpp typedef'ing DecomposedCartesianDomain to
   SimpleCartesianDomain.

2. The result of unigrid:local_mesh_size('shape') cannot be used as
   input to Mara's set_domain function: Mara expects the global domain
   shape as input.
Try a KH setup which is easier to write down, images are still outdated
Add visual.write_ppm function
Add an h52png.lua tool
Update the KH image in TestProblems.org: but WENO5 versions are outdated
Update docs with exact Riemann solver
Possibly publish a version of the Mara test page
Add the index.html page
Fix a typo in the KH setup
Change up doc style a bit
Do a few more style adjustments
Add the poisson.c file to fish, start to phase out grav1d.c
Fix a crucial bug in array module: make a deep copy of input arg tables
Take small steps in Lua code toward letting blocks support gravity
Add a FishScheme class and other things
Remove grav1d from the fish solver set alltogether
Add physical BC flag to blocks
Merge branch 'thesis'