Add full support for uniforms with initializers, including intra-stage link validation of aggregate constant initializers.

This included 
 - encapsulating aggregate constants
 - removal of constant-aggregate comparison algorithms, instead using a flattened and direct std::vector comparison
 - adding structure type comparison for independently declared structures that still might match types



git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23274 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/Test/baseResults/structAssignment.frag.out b/Test/baseResults/structAssignment.frag.out
index 2eb679a..9ca8325 100644
--- a/Test/baseResults/structAssignment.frag.out
+++ b/Test/baseResults/structAssignment.frag.out
@@ -9,15 +9,19 @@
 0:33          i: direct index for structure (int)

 0:33            s2_1: direct index for structure (structure)

 0:33              'foo3' (uniform structure)

+0:33              Constant:

+0:33                0 (const int)

+0:33            Constant:

 0:33              0 (const int)

+0:33          Constant:

 0:33            0 (const int)

-0:33          0 (const int)

 0:33        true case

 0:34        move second child to first child (structure)

 0:34          'locals2' (structure)

 0:34          s2_1: direct index for structure (structure)

 0:34            'foo3' (uniform structure)

-0:34            0 (const int)

+0:34            Constant:

+0:34              0 (const int)

 0:33        false case

 0:36        move second child to first child (structure)

 0:36          'locals2' (structure)

@@ -28,8 +32,10 @@
 0:38          f: direct index for structure (float)

 0:38            s1_1: direct index for structure (structure)

 0:38              'locals2' (structure)

-0:38              2 (const int)

-0:38            1 (const int)

+0:38              Constant:

+0:38                2 (const int)

+0:38            Constant:

+0:38              1 (const int)

 0:38          Function Call: texture2D(s21;vf2; (4-component vector of float)

 0:38            'sampler' (uniform sampler2D)

 0:38            'coord' (smooth in 2-component vector of float)