intel: Removed ICD validation checks from img.c

Moved validation into device_limits layer, created layer utils
files for format utilities, added validation tests, updated validation
doc, updated test framework to call GetPhysicalDeviceProperties.
diff --git a/layers/device_limits.h b/layers/device_limits.h
index d963664..6f11c23 100644
--- a/layers/device_limits.h
+++ b/layers/device_limits.h
@@ -34,8 +34,10 @@
     DEVLIMITS_INVALID_INSTANCE,                 // Invalid instance used
     DEVLIMITS_INVALID_PHYSICAL_DEVICE,          // Invalid physical device used
     DEVLIMITS_MUST_QUERY_COUNT,                 // Failed to make initial call to an API to query the count
+    DEVLIMITS_MUST_QUERY_PROPERTIES,            // Failed to make initial call to an API to query properties
     DEVLIMITS_COUNT_MISMATCH,                   // App requesting a count value different than actual value
     DEVLIMITS_INVALID_QUEUE_CREATE_REQUEST,     // Invalid queue requested based on queue family properties
+    DEVLIMITS_LIMITS_VIOLATION,                 // Driver-specified limits/properties were exceeded
 } DEV_LIMITS_ERROR;
 
 typedef enum _CALL_STATE