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.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Test a geometry shader that does an item-by-item copy of gl_ClipDistance.

This is similar to the existing test "clip-distance-bulk-copy", except
that it copies the elements of gl_ClipDistance one at a time instead
of as a bulk assignment.

This test is known to crash with Mesa as of commit ec79c05.
Test that all layered framebuffer attachments must be of the same type.