summary.py: Use with open(...) as syntax

This is the commonly accepted "right way" in python.

Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
summary.py: Fix regression in Summary class

Commit 450935b06f converts a try/except black into a list comprehension,
this comprehension works for cases where a single test result is fed to
it, but in cases where more than 1 it fails with a KeyError. This patch
corrects that by using a second get() method to catch this KeyError

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
tests: Add GL_ARB_texture_mirror_clamp_to_edge to texturing test.

Reviewed-and-tested-by: Kenneth Graunke <kenneth@whitecape.org>
status.py: convert status object attributes from instance to class

This converts Status objects attributes to class attributes. This should
reduce lookup time and memory consumption of these classes.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
summary.py: Replace buildDictionary function with a much simpler method

This patch produces the exact same output as the previous approach, just
in a much simpler way. It also moves some more of the status information
out of if branches and into the Status class in the status module.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
framework/status.py: Remove Status.__split__

This magic method isn't used, so there's no need for it.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
status.py: use abc module instead of NotImplementedError

Code reduction achieved by not requiring that each subclass re-implement
the __init__ magic method. Instead we make the cls.name and cls.value
attributes abstract, by using classmethod and abc.abstractproperty
decorators, requiring that they be implemented in a subclass before it
can be instantiated, which also means that we gain robustness by
requiring that subclasses set a value for them, and don't accidentally
end up with a value of None, which was possible before.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
status.py: update docstrings

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>