Test mixing of GLSL versions between VS and GS.

This introduces a new test: "shaders/version-mixing vs-gs", which is
known to fail with Mesa revision 81b998c.
Check that uniform block link errors are detected when skipping stages.

In Mesa, as of commit f38ac41, uniform blocks are only validated
between adjacent shader stages.  That means that if a program contains
vertex, geometry, and fragment shader stages, and the vertex and
fragment shader stages refer to a uniform block that isn't referred to
by the geometry stage, then some linker checks may not be performed.

Most possible link errors get detected at a later stage of linking,
but I found one case that wasn't; this test exercises that case.

Test is known to fail with Mesa f38ac41.