Start work on self-gravity module
Add local Poisson solver to 1d self-gravity problem
Use more appropriate function and file names for 1d self-gravity problem
Set up a sound wave problem to move toward testing grav1d

Also, in this commit the grav1d module is given quite a bit more
control from Lua, rather than being just a single function.
Fix a bug in the parsing scripts, setting double to int
Start generalizing grav1d
Allow arbitrary resolution on grav1d module
Add exact solution (without gravity) to gravity wave problem
Include Jeans length in grav1d setup, not in dispersion relation yet
Fix a bug in the mapbuffer function, must get nq = fluids_descr_getncomp
Include Jeans length in grav1d study

Oscillations not periodic in the wavelength are cured by using a
power-of-two number of zones.
Introduce RK3 in grav1d, studying density wave and pure sound wave
Demonstrate working sound wave with gravity-modified dispersion

Convergence rates non-gravity density wave problem are demonstrated to
be 2 with PLM+HLLC, and 4 with spectral WENO5. Comparison with Mara
should be done next.

Gradually moving control of grav1d back to Lua. Now the solver gets
configured by Lua code, next have the fluid descriptor as well.
Fix bug in parse_fish.py, give control of fluid descriptor to Lua
Work on a generic simulation class
Move LuaMara to modules/unigrid.lua
Merge branch 'gravity'
Update core modules and utils

+ util.plot Gnuplot function accepts dense or sparse tables
+ util.pretty_print understands classes
+ classes understand __call__ metamethod
+ optparse does not demand help options
Begin working with simulation module