Unittests: Add unittests for HTML output

Provides a set of static files to perform basic unittesting against.
unittest: Do not use same location for all tests

Previous behavior had each suite replacing the previous suite's files,
which may be efficient for space, but for both debugging reasons and
robustness reasons doesn't make a lot of sense. This patch corrects that
behavior by using /tmp/ut as a root folder, and each suite adds a new
folder under that.
unittests: Adds test for junit xml that validates using xmllint

This test currently only runs on linux (since it relies on linux
binaries xmllint and which). It grabs the latest copy of junit-4.xsd for
the jenkins upstream, and uses xmllint and that file to verify the xml
that piglit-summary-junit.py creates.
unittests: Adds testsuite for HTML output with broken json file

This exercises the path that takes the summary though the rebuilding of
the json file.
piglit-unit-test.py: Adds some commments
unittest: Marks junit xmllint test as expected failure

The current implementation of junit output is not compliant, since I'm
waiting to merge new junit generation code I have not interest in fixing
this, so it's easier to just mark it as broken.
unittests.py: Stops xmllint from spamming stdout:x
html: Adds xmllint test for html
unittests: de-duplicate HTML test code

this patch makes a single base class for all HTML classes to descend
from, and vastly simplifies the HTML test classes, they are now just 4
variable definitions
unittest: Adds a base class for testing text summary
junit_xsd: Use Popen instead of os.system

This allows us to capture the output of stderr and stdout, and to print
stderr when there is an error.
unittests: fix sporadic test failures in junit

Adds Popen.wait() to test_juint_output
In test_junit_xsd use the msg parameter to print stderr, instead of the
contrived if statement used before.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
logging.py: send messages to stdout not stderr

This makes sense on so many levels, but it is really good since it
allows us to know that things on stderr are actually errors, not piglit
reporting it's status.
unittests: Adds tests for testing piglit-run functionality
unittest: change check method for run test

This method should be more robust, since it doesn't rely on the order of
the lines being the same, only that the same content is present.
unittests: Adds test to test all.tests with no -t or -x options
unittests: Adds test for quick.tests output
unittests: fixes __test_output in TestRun

Previously this test looked for lines from the testcase to be the same
in the baseline (with the date/time trimmed off), however, since the
baseline is a static file, and the testcase is not, this could result in
false positives. This patch corrects that by switching baseline and
testcase.
unittests: Refactors and simplifies HTML tests with a private method

This simply remove duplicated code by using a private method.
unittest: changse TestRun.__test_output to be case insensitive compare

Uses the str.lower() method to make the whole string lowercase, which is
needed to avoid some false positives created by changes to all.tests.