Fix #2005. Allow multiple compilation units to declare identical push_constant blocks (#2123)

* Fixes #2005

Allow multiple units in a stage to have push_constants as long
as the blocks match.
Requires #2006 to be fixed to be functional.

* tweaks to #2005 fix after some testing

* add unit tests for push constants across multiple compilation units

For #2005

* update reference output for tests that fail validation

* fix uninitialized result.validationResult
diff --git a/Test/link.vk.matchingPC.0.2.frag b/Test/link.vk.matchingPC.0.2.frag
new file mode 100755
index 0000000..734358c
--- /dev/null
+++ b/Test/link.vk.matchingPC.0.2.frag
@@ -0,0 +1,14 @@
+#version 450

+

+layout (push_constant) uniform PushConstantBlock

+{

+	vec4 color;

+	vec4 color2;

+	float scale;

+} uPC;

+

+float

+getScale()

+{

+	return uPC.scale;

+}