Refactor API message handling code

This is preparation for new C API. Moving common stuff to separate
headers reduces dependency issues.

Change-Id: Ie7adb23398de72448e5eba6c1c1da4e1bc678725
Signed-off-by: Klement Sekera <ksekera@cisco.com>
diff --git a/src/vppinfra/error.h b/src/vppinfra/error.h
index e51f938..e0e2d47 100644
--- a/src/vppinfra/error.h
+++ b/src/vppinfra/error.h
@@ -72,19 +72,7 @@
 #define clib_panic(format,args...) \
   _clib_error (CLIB_ERROR_ABORT, (char *) clib_error_function, __LINE__, format, ## args)
 
-typedef struct
-{
-  /* Error message. */
-  u8 *what;
-
-  /* Where error occurred (e.g. __FUNCTION__ __LINE__) */
-  const u8 *where;
-
-  uword flags;
-
-  /* Error code (e.g. errno for Unix errors). */
-  any code;
-} clib_error_t;
+#include <vppinfra/clib_error.h>
 
 #define clib_error_get_code(err) ((err) ? (err)->code : 0)
 #define clib_error_set_code(err, c)		\