Add dhex_dump() and DHEXDUMP() to format and print data in hexadecimal

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
It should be possible to apply this attribute at the implementation of the function, I think it will be accepted by the compiler between the return type and the function name like:
static int __printf(2,3) append(struct strbuf *sbuf, const char *fmt, ...)
{
...
}