Make libvfio-user headers self-contained (#834)

Allows running tools like clang-include-cleaner without error.

Signed-off-by: Peter Foley <pefoley@google.com>
diff --git a/include/pci_caps/common.h b/include/pci_caps/common.h
index 0cc38d0..e648013 100644
--- a/include/pci_caps/common.h
+++ b/include/pci_caps/common.h
@@ -33,6 +33,7 @@
 
 #include <linux/pci_regs.h>
 #include <stddef.h>
+#include <stdint.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/include/pci_caps/msix.h b/include/pci_caps/msix.h
index 36a7de6..0092c0c 100644
--- a/include/pci_caps/msix.h
+++ b/include/pci_caps/msix.h
@@ -33,8 +33,12 @@
 #ifndef LIB_VFIO_USER_PCI_CAPS_MSIX_H
 #define LIB_VFIO_USER_PCI_CAPS_MSIX_H
 
+#include <stdint.h>
+
 #include <linux/pci_regs.h>
 
+#include "pci_caps/common.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/lib/common.h b/lib/common.h
index c4de49a..0242546 100644
--- a/lib/common.h
+++ b/lib/common.h
@@ -39,6 +39,7 @@
 
 #include <errno.h>
 #include <limits.h>
+#include <stdlib.h>
 #include <stdint.h>
 #include <unistd.h>
 #include <sys/uio.h>
diff --git a/lib/migration_priv.h b/lib/migration_priv.h
index 83c5f7e..d4df430 100644
--- a/lib/migration_priv.h
+++ b/lib/migration_priv.h
@@ -31,8 +31,14 @@
 #ifndef LIB_VFIO_USER_MIGRATION_PRIV_H
 #define LIB_VFIO_USER_MIGRATION_PRIV_H
 
+#include <stddef.h>
+
 #include <linux/vfio.h>
 
+#include "common.h"
+#include "libvfio-user.h"
+#include "vfio-user.h"
+
 struct migration {
     enum vfio_user_device_mig_state state;
     size_t pgsize;
@@ -47,4 +53,4 @@
 
 #endif
 
-/* ex: set tabstop=4 shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
+/* ex: set tabstop=4 shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/lib/pci.h b/lib/pci.h
index 3962e3c..fcf3483 100644
--- a/lib/pci.h
+++ b/lib/pci.h
@@ -33,6 +33,8 @@
 #ifndef LIB_VFIO_USER_PCI_H
 #define LIB_VFIO_USER_PCI_H
 
+#include <assert.h>
+
 #include "libvfio-user.h"
 #include "private.h"