Additional changes to Vulkan 1.1 API updates

This commit includes the following:

- Make new/Vulkan 1.1 core commands be optional in codegen.  Before this
  change, the loader crashed when starting with a 1.0 app, and using a 1.0 ICD.
  That's because the loader couldn't find "required" 1.1 entrypoints.  This
  change makes those entrypoints "optional" with a new annotation in the api
  file.

- Changes from internal reviews, including a fix for the algorithm of
  EnumeratePhysicalDeviceGroups.

Test: Run with a 1.0 app with a 1.0 driver and make sure the loader works
Change-Id: I55914b680a1601cb9f3f2cc0257091a0a34ae7f2
diff --git a/vulkan/libvulkan/code-generator.tmpl b/vulkan/libvulkan/code-generator.tmpl
index e13ec0e..3b48e08 100644
--- a/vulkan/libvulkan/code-generator.tmpl
+++ b/vulkan/libvulkan/code-generator.tmpl
@@ -419,7 +419,7 @@
     INIT_PROC(§
   {{end}}
 
-  {{if GetAnnotation $ "optional"}}false{{else}}true{{end}}, §
+  {{if GetAnnotation $ "optional"}}false{{else if GetAnnotation $ "vulkan1_1"}}false{{else}}true{{end}}, §
 
   {{if (Macro "IsInstanceDispatched" $)}}
     instance, §
@@ -734,9 +734,6 @@
     {{else if eq $.Name "vkCreateDevice"}}true
     {{else if eq $.Name "vkEnumeratePhysicalDevices"}}true
     {{else if eq $.Name "vkEnumeratePhysicalDeviceGroups"}}true
-    {{else if eq $.Name "vkGetDeviceGroupPresentCapabilitiesKHR"}}true
-    {{else if eq $.Name "vkGetDeviceGroupSurfacePresentModesKHR"}}true
-    {{else if eq $.Name "vkGetPhysicalDevicePresentRectanglesKHR"}}true
     {{else if eq $.Name "vkGetDeviceQueue"}}true
     {{else if eq $.Name "vkGetDeviceQueue2"}}true
     {{else if eq $.Name "vkAllocateCommandBuffers"}}true
@@ -976,9 +973,6 @@
     {{/* We cache physical devices in loader.cpp */}}
     {{else if eq $.Name "vkEnumeratePhysicalDevices"}}true
     {{else if eq $.Name "vkEnumeratePhysicalDeviceGroups"}}true
-    {{else if eq $.Name "vkGetDeviceGroupPresentCapabilitiesKHR"}}true
-    {{else if eq $.Name "vkGetDeviceGroupSurfacePresentModesKHR"}}true
-    {{else if eq $.Name "vkGetPhysicalDevicePresentRectanglesKHR"}}true
 
     {{else if eq $.Name "vkGetInstanceProcAddr"}}true
     {{else if eq $.Name "vkGetDeviceProcAddr"}}true