WIP: GLES3: test that non-flat varying structs cannot contain ints.
Remove BindBufferRange out-of-range tests.

In the documentation for BindBufferRange, OpenGL specs from 3.0
through 4.1 contain this language:

    "The error INVALID_VALUE is generated if size is less than or
    equal to zero or if offset + size is greater than the value of
    BUFFER_SIZE."

This text was dropped from OpenGL 4.2, and it does not appear in the
GLES 3.0 spec.

Presumably the reason for the change is because come clients change
the size of the buffer after calling BindBufferRange.  Implementations
shouldn't generate an error at the time of the BindBufferRange call
just because the old size of the buffer was too small, when the buffer
is about to be resized.

Since this is a deliberate relaxation of error conditions in order to
allow clients to work, it seems sensible to allow implementations to
apply this change even if the GL version is less than 4.2.  This patch
eliminates the checks that would have required the error condition to
be flagged.

See associated Mesa patch:

    mesa: Don't check (offset + size <= bufObj->Size) in BindBufferRange.
shader_runner: Remove unimplemented geometry_program vestiges
WIP: shader_runner: Add support for testing geometry shaders.
WIP: test flat rules
WIP: fix test
WIP: shader_runner: choose GL version based on GLSL version more accurately
Modify tests for error checking on "flat" keyword to match updated specs.

All of the GLSL specs from GLSL 1.30 (and GLSL ES 3.00) onward contain
language requiring certain integer variables to be declared with the
"flat" keyword, but they differ in exactly *when* the rule is
enforced:

(a) GLSL 1.30 and 1.40 say that vertex shader outputs having integral
type must be declared as "flat".  There is no restriction on fragment
shader inputs.

(b) GLSL 1.50 through 4.30 say that fragment shader inputs having
integral type must be declared as "flat".  There is no restriction on
vertex shader outputs.

(c) GLSL ES 3.00 says that both vertex shader outputs and fragment
shader inputs having integral type must be declared as "flat".

Previously, Piglit simply checked for behaviour (a).  This patch makes
it check for behaviour (b) in desktop GL and behaviour (c) in GLES.

Rationale: once geometry shader support is included, (b) is the only
sensible choice, because it requires "flat" in just the situations
where it matters.  Since many implementations extend geometry shader
support back before GLSL 1.50 (via ARB_geometry_shader4), it seems
sensible to regard the difference between (a) and (b) as a bug fix
rather than a deliberate behavioural difference, and therefore test
for behaviour (b) even in GLSL 1.30.

Some discussion about this has already happened on the Mesa-dev list.
See:

http://lists.freedesktop.org/archives/mesa-dev/2013-February/034199.html