rule setup: cleanup

Remove rule preparation logic that ran, but it's results were not
used.
Cleanup ConfSet, ConfGet, make more concise.

Removes ifdef's for readability by using strchr instead
of strtok.
More concise API for setting config values that
can be overrided or not (final values).
Function to prune all non-final nodes from a configuration node.
Subsequent configuration keys now override previous ones
instead of merging.

The exception is final values, for example, values like
default-log-dir that may be set on the command line.
Better document ConfSet and ConfSetFinal.
Instead of exiting on memory failure, log a warning then return NULL
to signify an error to the caller.