layers: Adjust queue family index error messages

Adjust parameter_validation layer's validate_queue_family_indices
error messages:
- Split validate_queue_family_indices into separate functions for
  arrays of indices and single index values, allowing error messages
  to be formatted with and without array brackets when appropriate.
- Print the correct parameter name in error messages.

Change-Id: I9a77ccbd0ad14da4732362d2694ed205e13c3a40
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index 9e8647f..8bf5bd9 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -5701,7 +5701,9 @@
     // Create an out-of-range queueFamilyIndex
     m_errorMonitor->SetDesiredFailureMsg(
         VK_DEBUG_REPORT_ERROR_BIT_EXT,
-        "queueFamilyIndex 777, must have been given when the device was created.");
+        "vkCreateBuffer: pCreateInfo->pQueueFamilyIndices[0] (777) must be one "
+        "of the indices specified when the device was created, via the "
+        "VkDeviceQueueCreateInfo structure.");
 
     ASSERT_NO_FATAL_FAILURE(InitState());
     ASSERT_NO_FATAL_FAILURE(InitRenderTarget());