summary.py: Threads the generation of the subtest pages.

The HTML pages for the individual tests are now created in threads. This
relatively minor change nets a reduction in time of over 50%, from ~6
seconds to ~2.5 seconds for a single run of quick.tests

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
summary.py: Threads the generation of the result index pages

The HTML index pages for the test ersults are now created in threads.
While the performance boost isn't as dramatic as threading the
individual test pages, it does make a difference when generating an HTML
summary with a large number of tests. With 5 results of quick.tests this
reduces the time from ~11 seconds to ~10 seconds.

Signed-off-by: Dylan Baker <baker.dylan.c@gmail.com>
summary.py: Convert BuildHTMLIndex to use getattr

This change will allow for simplification and threading of the
generation of the root HTML pages (index, regressions, etc)
summary.py: Generate root HTML pages in threads

This does two nice things. First it puts the page generation in a loop,
which looks nice and should be easier to maintain. Secondly, it gives
another performance boost.