Add PIGLIT_STRIP_ARG() macro for extracting args during piglit config.

v2: Fix update of *argc.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Use PIGLIT_STRIP_ARG() in formats.c

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Support both core and compat contexts in xfb/overflow-edge-cases.c.

This will allow the test to be adapted for geometry shaders.

v2: Use VAO's if GL version >= 3.0.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
gs: Adapt xfb/overflow-edge-cases.c for geometry shaders.

The transform feedback test "overflow-edge-cases" can now be invoked
with a "use_gs" argument, that causes it to use a geometry shader.
Support both core and compat contexts in xfb/intervening-read.c.

This will allow the test to be adapted for geometry shaders.

v2: Use VAO's if GL version >= 3.0.

Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
gs: Adapt xfb/intervening-read.c for geometry shaders.

The transform feedback test "intervening-read" can now be invoked with
a "use_gs" argument, that causes it to use a geometry shader.

v2: In the geometry shader, make positions array const, and fix outer
loop bound.
gs: Test that geometry shader inputs must be arrays.

v2: Additional tests.
gs: Test that geometry shader input declaration rules don't apply to outputs.
gs: Test EndPrimitive() functionality.
gs: Make texelFetch and textureSize tests use GLSL 1.50 for geometry shaders.

Previously, these tests used ARB_geometry_shader4.  However, the
initial implementation of geometry shaders in Mesa isn't going to
support ARB_geometry_shader4.  So test this functionality using GLSL
1.50 geometry shaders instead.

v2: Use a generic vertex attribute instead of gl_PositionIn.
Basic test that transform feedback works with geometry shaders.
!UPSTREAM: Test core GS inputs on GLSL 1.50

TODO:
- Make this work.