clean up error codes
The list of error codes defined in util-error.h is massive and often not very helpful. One of the original ideas was to have a list of unique codes, but that hasn't materialized. The codes are often reused, lots are redundant and some may be unused.
Also, the codes often don't add all that much to the per error/warning custom message.
Consider a much simpler scheme. E.g. something like the errno approach (or perhaps exactly this).