oglconform.tests: Add missing subprocess import.

Not sure when this broke, but it definitely wasn't working.
cl: Move common code from generate-cl-int-builtins.py into its own module
cl-program-test: Add support for parsing float values in scientific notation
cl: Add a python script for generating tests for math builtins

This includes a test for the nextafter builtin.
cl: Add a python script for generating tests for relational builtins

This includes a test for the isnan builtin.
cl: Add a test for the sign() builtin
gs: Test core GS inputs on GLSL 1.50

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
gs: Test corner case for triangle strip ordering with primitive restart.

Verified using the NVIDIA proprietary driver (version 313.18) for linux.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
glsl-1.50: Test illegal uses of unsized arrays in interface blocks.

These tests verify that unsized arrays appearing inside interface
blocks are subject to the same restrictions as unsized arrays
appearing outside interface blocks (e.g. they can't be used in bulk
assignment, they don't support .length(), and they can't be accessed
using a non-constant index).

Since it's likely that these restrictions are enforced by the same
code as for unsized arrays appearing outside of interface blocks,
these are just a few touch tests; we don't exhaustively test all
possible types of access in every shader type.
Test unsized arrays in interface blocks

These tests verify that unsized arrays appearing inside interface
blocks obey the same rules as unsized arrays appearing outside
interface blocks.  Namely, their size is inferred from the largest
constant integer index used to access them across all compilation
units for the same shader stage, and this inferred size is used to
validate that interface blocks are properly matched between one shader
stage and the next.
Test accuracy of dFdx and dFdy functions.

Mesa/i965 currently (as of commit 1cc3b90) has an inaccurate
implementation of dFdy() which produces the same results for every
pixel in an aligned 2x2 block.  This piglit test exposes the
inaccuracy.

v2: Use an error threshold of 1.0e-3 for both tests.
!UPSTREAM: Interface block redeclaration tests

TODO:
- Add more tests

- Split into a patch for the GLSL 4.10 redeclaration rules and a patch
  for other GLSL 1.50 issues (e.g. disallowing a variable inside an
  unnamed interface block to match the name of a previously declared
  global)

- Validate using NVIDIA proprietary driver