condition: properly allow passing back errors from condition checks
condition: unify condition logic in one file
condition: internalize condition test functions

Also, implement the negation check inside of condition_test() instead of
individually in each test function.
journal: adjust audit log messages a bit
condition: add more test cases
condition: record test state internally and beef it up to be a full enum
core: introduce the concept of AssertXYZ= similar to ConditionXYZ=, but fatal for a start job if not met
condition: order condition types the same way in man page, enum, tables

Yes, sometimes I develop OCD.
man: don't document ConditionNull=/AssertNull= as the are not particularly useful and simply confusing
man: document that we don't document .include on purpose

<!-- xml comments are useful! -->
core: get rid of condition.c and move the remaining call into util.c

That way only one file with condition code remaining, in src/shared/,
rather than src/core/.

Next step: dropping the "-util" suffix from condition-util.[ch].
shared: rename condition-util.[ch] to condition.[ch]

Now that we only have one file with condition implementations around, we
can drop the -util suffix and simplify things a bit.
update TODO