Add Test run metadata

This commit adds support for using the test_run metadata table. It
will take the attrs from the the test id and the tags from the subunit
stream and add them to the metadata table.
Fix more DB bugs

This commit adds a migration to actually set indexes besides
the primary keys. They were set in the models but the schema didn't
have them. Also fix setting the status in the DB api.
Some performance improvements to db updates

This commit gets a bit smarter and limits the amount of db writes we
need. Instead of updating everything for every test in the list it
does the summing up front where possible. Also for new tests there is
no need to break up the add and update so this breaks it into an
either or situation. Lastly, the session object is properly being
passed to every operation. Before there were some that were missed.
Add CLI option to set run artifacts

This commit adds a new CLI/Config option to set a string which is used
to indicate the location of test artifacts. For example a web address
pointing to run logs.
More pep8 fixes

Calling it a night time for some pep8 fixes...