Merge changes I58c5cad2,Id6ea11fb,I595e51ae,I161b7afa,I25b547e8, ...

* changes:
  libvulkan: Remove dead special cases in GetDeviceProcAddr
  vulkan: Update templates for generated extensions
  Don't remove elements while iterating through active_layers.
  Don't assume layers exist when prop is set
  vulkan: Add DevelopersGuide.pdf
  Add WSI functions to the loader.
  vulkan: allow drivers to see image acquire/release
  vulkan: Allow drivers to add private gralloc usage flags
  libvulkan: enable scaling for all Vulkan swapchains
  Remove Noop and move message removal.
  vknulldrv: Fix several entry point prototypes
  libvulkan: Don't log error if layer dir doesn't exist
  libvulkan: Fix check for redundant vkDeviceQueue calls
  libvulkan: Fail instance/device creation if requested layer not present
  vulkan: Fix GetSpecific*ProcAddr for extension functions
  vulkan: add recursive f/n/vulkan/Android.mk
  vulkan: Use the same dispatch magic value as LunarG
  Update DEBUG_REPORT extension and callback for v170.2
  vulkan: Add build-install_libvulkan virtual branch
  vulkan: Remove sdk-0.9 virtual branch, has been merged
  vulkan: Update to SDK-0.9 version of vk_ext_khr_device_swapchain.h
  vulkan: Update from header 0.138.2 to 0.170.2
  Add support for longer than 12 character layers.
  Allow for different layers to be active per device
  vulkan: Add sdk-0.9 virtual branch