Introduce settings structure.

No more passing particular options (like git or mtime) to functions.

The structure is meant to be immutable after filling during startup.
Simplify mentries_recurse*() functions.

Remove duplicated code introduced by 47fa5ae and use settings instead.
Add include guards in header files.