tests/igt: restore dmesg-by-default

This regression has been introduced in

commit 90a25641164c8a0c8cc09a5515864b654df9d368
Author: Dylan Baker <baker.dylan.c@gmail.com>
Date:   Mon Jan 27 11:23:28 2014 -0800

    Use the new dmesg class

The original logic to always capture dmesg for igt tests has been
added in

commit da3819f07ca2b74b386ee96b8af1e141c36ec8ce
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Nov 11 22:04:32 2013 +0100

    igt: Enable dmesg checking by default

Cc: Dylan Baker <baker.dylan.c@gmail.com>
Reviewed-by: Dylan Baker <baker.dylan.c@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
framework/shader_test.py: Remove standalone capability

Shader_test has a bizarre capability to be run as a standalone script as
well as be used as a module. This was probably useful when developing
the original shader_test implementation, but at this point it's unused
code just waiting to bit-rot adding needless complexity
framework/shader_test.py: Replace ShaderTest class with function

This replaces the ShaderTest class with a shader_test function that
returns a PlainExecTest instance. The reason to make this transition is
simple, ShaderTest never actually modified any of the methods in
PlainExecTest, it never needed to be a class, making it a function
reduces the amount of code required, vastly reduces the complexity of
the code, and makes testing much simpler.

This also removes the dmesg_test for ShaderTest, since shader_test just
returns a PlainExecTest, there isn't any reason for dmesg to test it
specially.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
shader_tests_tests.py: Adds some tests for the shader_test module

This adds a couple of tests for the regex searches in
shader_test.shader_test(), and some simple tests for the
add_shader_test* functions.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
Replace end_config with 'end config' in glsl parser tests

The example glsl parser test doesn't list end_config as acceptable, and
there are only 5 tests using end_config, so it makes sense to just fix
those tests rather than generating slower more complicated regex for
handling end_config.
glsl_parser_test.py: Remove standalone functionality.

This removes the standalone run functionality from glsl_parser_test.
Like shader_test this probably made sense as a development option, but
at this point it's just dead code.
glsl_parser_test.py: Replace GLSLParserTest with function

This is a rough 'port' of the class to a function. It deviates only to
make idiomatic changes and to remove references to self. With a few
exceptions. The class always returned a result when something went
wrong, this function raises an exception. Some of these cases can
probably be better handled, but returning a result seems like the wrong
decision, these should either be handled or excepted.
glsl_parser_test.py: Vastly simplify the way the config is parsed

This reduces the complexity of the code that searches for config section
and writes it into a StringIO. The new code just looks for a comment
followed by [config] to open the section and a comment followed by [end
config] to close it. It naively slurps up everything in between.
Adds some tests for glsl_parser_tests.py