Refactor arg parsers
Hide rare option fields from simple usage help
Fix swapped min/max neighbours defaults
Rewrite config+arg parsers to use modifier functions

(Warning: current implementation fugly. This is what Lens was invented
for.

The reason for the rewrite is to have a modification interface many
different config sources can hook into, such as config files and arg
parsers.

This commit breaks the build, as the other modules have not been
modified to accomodate the changes.
Adapt all files to the changes of the previous commit