Ahaggar: add the report() function

This function is like GCC's error() and warning() functions except that
the exection will continue normally.

We use it to handle output that will not go through STDERR.

Signed-off-by: Djalal Harouni <tixxdz@opendz.org>
Ahaggar: switch to GCC's warning() function to report warning messages

Signed-off-by: Djalal Harouni <tixxdz@opendz.org>
Ahaggar: add an output function pointer to the data strcture

This pointer will be used to print the corresponding error, warning or
report message.

Signed-off-by: Djalal Harouni <tixxdz@opendz.org>
Ahaggar: add the __error(), __warning() and report() functions

Add the __error(), __warning() and report() functions and their high
level wrappers.

Signed-off-by: Djalal Harouni <tixxdz@opendz.org>