error.h: add a bug reporting function

Motivation:
	* it seems it can be reused quite a lot

Examples:
	* report_programming_bug("invalid pointer: %p", p);
	* report_programming_bug("we should not process BYEs here!");
(cherry picked from commit 9f7ce76403a5ef5db8e9ac8da355d4955059af55)