ndomod: Refactor config processing.

Hoist common code to macros so it's easier to handle errors, and make
handling options of similar type as uniform as possible. Also don't eat
the return value from ndomod_process_config_file() so errors in config
files get reported.
ndomod: DRY out broker callbacks and their table.
Simplify logging from ndomod.

ndomod_write_to_logs() and the underlying write_to_all_logs() from Core
take the message to log as a char*. This makes two common patterns more
complicated than they should be: logging a const char * string literal;
and logging a formatted message.

ndomod_printf_to_logs() takes a format and args like printf(), and
snprintf()s to an internal temporary buffer before writing to the Core
logs. This simplifies the common logging use cases.
ndomod: Const cleanup for char * arguments.

Unless we're modifying the pointed to memory, or some other API wants a
'char *', we should default to 'const char *'.