arb_texture_storage: add some cube map error tests

Test error checking for width != height and depth % 6 != 0 for cube arrays.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
CL: Add global memory read/write and barrier tests

Based on local-memory tests.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
gs: Test that gl_MaxGeometryInputComponents can actually be achieved.
gs: Fix geometry layout case insensitivity tests.

These tests use check_link: true, which means that they each need to
specify a complete set of geometry shader layout qualifiers in order
to pass.
gs: Test redeclaring either gl_PerVertex in or out, and using both.
Test a corner case involving arrays, structs, and interface blocks.

This patch exercises the same corner case as
https://bugs.freedesktop.org/show_bug.cgi?id=70368.
Test that in/out qualifiers are required when redeclaring gl_ClipDistance.

Although it is not explicitly stated in the GLSL spec, all examples of
redeclaring built-in in/out variables (such as gl_ClipDistance)
include the "in" or "out" qualifier, so it seems like failure to do so
should cause a compile error.

At present:

- Mesa (as of commit a50c5f8) does not generate an error.

- The NVIDIA proprietary driver for Linux (version 313.18) does not
  generate an error; however, if gl_ClipDistance is redeclared in the
  fragment shader without specifying the "in" keyword, it fails to
  work properly.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
!UPSTREAM: test version mixing