Rewrite the testing macros
Rewrite the testing macros

Things this commit does in the process of rewriting the testing
infrastructure:

  - argument parsing and per-file option handling has been factored out
    into separate functions to avoid duplication;
  - macros have been replaced with functions;
  - all languages use the same structure (add the tests, then build the
    executable);
  - -E## support has been removed; use ${testname}_ARGS instead;
  - some style cleanups;
  - replace directory properties with variables so that multiple test
    sets may be made at one time;
  - set test labels from the TEST_LABELS module.cmake option.

Change-Id: Ic75023208725e5c09043feabdf758014b66fa26e

sumedhasingla/VTK,sumedhasingla/VTK,msmolens/VTK,candy7393/VTK,demarle/VTK,sankhesh/VTK,sankhesh/VTK,msmolens/VTK,ashray/VTK-EVM,candy7393/VTK,SimVascular/VTK,candy7393/VTK,mspark93/VTK,sankhesh/VTK,hendradarwin/VTK,jmerkow/VTK,mspark93/VTK,demarle/VTK,candy7393/VTK,sankhesh/VTK,jmerkow/VTK,hendradarwin/VTK,ashray/VTK-EVM,sumedhasingla/VTK,ashray/VTK-EVM,SimVascular/VTK,sankhesh/VTK,candy7393/VTK,mspark93/VTK,berendkleinhaneveld/VTK,gram526/VTK,berendkleinhaneveld/VTK,msmolens/VTK,keithroe/vtkoptix,keithroe/vtkoptix,mspark93/VTK,SimVascular/VTK,msmolens/VTK,jmerkow/VTK,msmolens/VTK,jmerkow/VTK,hendradarwin/VTK,candy7393/VTK,berendkleinhaneveld/VTK,keithroe/vtkoptix,msmolens/VTK,ashray/VTK-EVM,keithroe/vtkoptix,sankhesh/VTK,msmolens/VTK,mspark93/VTK,keithroe/vtkoptix,SimVascular/VTK,SimVascular/VTK,sankhesh/VTK,hendradarwin/VTK,sankhesh/VTK,hendradarwin/VTK,gram526/VTK,SimVascular/VTK,mspark93/VTK,ashray/VTK-EVM,candy7393/VTK,sumedhasingla/VTK,msmolens/VTK,candy7393/VTK,jmerkow/VTK,hendradarwin/VTK,demarle/VTK,berendkleinhaneveld/VTK,johnkit/vtk-dev,keithroe/vtkoptix,sumedhasingla/VTK,berendkleinhaneveld/VTK,ashray/VTK-EVM,johnkit/vtk-dev,johnkit/vtk-dev,gram526/VTK,demarle/VTK,demarle/VTK,hendradarwin/VTK,johnkit/vtk-dev,johnkit/vtk-dev,gram526/VTK,sumedhasingla/VTK,jmerkow/VTK,mspark93/VTK,demarle/VTK,gram526/VTK,johnkit/vtk-dev,berendkleinhaneveld/VTK,gram526/VTK,sumedhasingla/VTK,gram526/VTK,demarle/VTK,keithroe/vtkoptix,ashray/VTK-EVM,johnkit/vtk-dev,ashray/VTK-EVM,jmerkow/VTK,demarle/VTK,SimVascular/VTK,SimVascular/VTK,sumedhasingla/VTK,mspark93/VTK,keithroe/vtkoptix,gram526/VTK,jmerkow/VTK,berendkleinhaneveld/VTK