treewide: no need to negate errno for log_*_errno()

It corrrectly handles both positive and negative errno values.
core: add log_unit_*_errno() macros
core: convert log_unit_*() to log_unit_*_errno()

Using:
find . -name '*.[ch]' | xargs sed -r -i -e \
's/log_unit_(debug|info|notice|warning|error|emergency)\(([^"]+), "(.*)%s"(.*), strerror\(-([a-zA-Z_]+)\)\);/log_unit_\1_errno(\2, \5, "\3%m"\4);/'