layers: Use tmp callback for msgs during vk{Create|Destroy}Instance().

This is implements some relatively-new functionality of the VK_EXT_debug_report
extension.  An application can pass VkDebugReportCallbackCreateInfoEXT structs
on the pNext chain given to vkCreateInstance(), in order to setup one or more
callbacks that can be used during vk{Create|Destroy}Instance().  These special,
"temporary callbacks" allow messages (e.g. errors) to be logged during the time
when the debug_report extension is normally not setup.

A set of utilities copy VkDebugReportCallbackCreateInfoEXT structs from the
pNext chain given to vkCreateInstance().  These utilities are used by the
validation layers that may have messages (e.g. errors) during
vk{Create|Destroy}Instance().
8 files changed