layers: Move DestroyImage code into buffer module

Moved CHECK_DISABLED into CV_types.h, moved validation and recording
routines into buffer_validation.cpp.

Change-Id: I103d0fc9c2e985d98943471ec6f83898c58bfdfe
diff --git a/layers/buffer_validation.h b/layers/buffer_validation.h
index 88342a1..dab6ac2 100644
--- a/layers/buffer_validation.h
+++ b/layers/buffer_validation.h
@@ -26,6 +26,7 @@
 #include <memory>
 #include <unordered_map>
 #include <vector>
+#include <utility>
 
 
 bool PreCallValidateCreateImage(core_validation::layer_data *device_data, const VkImageCreateInfo *pCreateInfo,
@@ -36,4 +37,10 @@
                                std::unordered_map<ImageSubresourcePair, IMAGE_LAYOUT_NODE> *imageLayoutMap,
                                const VkImageCreateInfo *pCreateInfo, VkImage *pImage);
 
+void PostCallRecordDestroyImage(core_validation::layer_data *device_data, VkImage image, IMAGE_STATE *image_state,
+                                VK_OBJECT obj_struct);
+
+bool PreCallValidateDestroyImage(core_validation::layer_data *device_data, VkImage image, IMAGE_STATE **image_state,
+                                 VK_OBJECT *obj_struct);
+
 #endif  // CORE_VALIDATION_BUFFER_VALIDATION_H_