layers: Refactor FreeDescriptorSets()
layers: Refactor FreeDescriptorSets()

Create PreValidate/PostRecord functions for FreeDescriptorSets().
Currently the validation and state updates are handled in-line
in these functions, but this change makes it easy to migrate the
code to descriptor pool class without affecting top-level
intercept function.

elongbug/Vulkan-LoaderAndValidationLayers,Radamanthe/VulkanSamples,critsec/Vulkan-LoaderAndValidationLayers,KhronosGroup/Vulkan-LoaderAndValidationLayers,Radamanthe/VulkanSamples,critsec/Vulkan-LoaderAndValidationLayers,Radamanthe/VulkanSamples,elongbug/Vulkan-LoaderAndValidationLayers,critsec/Vulkan-LoaderAndValidationLayers,KhronosGroup/Vulkan-LoaderAndValidationLayers,Radamanthe/VulkanSamples,Radamanthe/VulkanSamples,Radamanthe/VulkanSamples,elongbug/Vulkan-LoaderAndValidationLayers,elongbug/Vulkan-LoaderAndValidationLayers,KhronosGroup/Vulkan-LoaderAndValidationLayers,KhronosGroup/Vulkan-LoaderAndValidationLayers,critsec/Vulkan-LoaderAndValidationLayers