layers:Update unique_objects to use callbacks

Fixes #199

Unique_objects layer now has some log_msg() calls to flag unsupported
extensions. That means that it also needs to handle user-registered
callbacks in order for the log_msg() calls to follow proper error-
reporting path.

Adding various dbg report/util functions that were previously missing.
diff --git a/scripts/unique_objects_generator.py b/scripts/unique_objects_generator.py
index 6550ff3..eef0fc4 100644
--- a/scripts/unique_objects_generator.py
+++ b/scripts/unique_objects_generator.py
@@ -163,17 +163,12 @@
             'vkGetDisplayPlaneSupportedDisplaysKHR',
             'vkGetDisplayModePropertiesKHR',
             'vkGetDisplayModeProperties2KHR',
-            ]
-        # Commands shadowed by interface functions and are not implemented
-        self.interface_functions = [
-            # VK_EXT_debug_report APIs are hooked, but handled separately in the source file
-            'vkCreateDebugReportCallbackEXT',
-            'vkDestroyDebugReportCallbackEXT',
-            'vkDebugReportMessageEXT',
-            # VK_EXT_debug_utils APIs are hooked, but handled separately in the source file
             'vkCreateDebugUtilsMessengerEXT',
             'vkDestroyDebugUtilsMessengerEXT',
             'vkSubmitDebugUtilsMessageEXT',
+            'vkCreateDebugReportCallbackEXT',
+            'vkDestroyDebugReportCallbackEXT',
+            'vkDebugReportMessageEXT',
             ]
         self.headerVersion = None
         # Internal state - accumulators for different inner block text
@@ -850,8 +845,6 @@
         for api_call in self.cmdMembers:
             cmdname = api_call.name
             cmdinfo = cmd_info_dict[api_call.name]
-            if cmdname in self.interface_functions:
-                continue
             if cmdname in self.no_autogen_list:
                 decls = self.makeCDecls(cmdinfo.elem)
                 self.appendSection('command', '')