log viewer

I blew away the old branch that may have had some cruft from my huge checkin mistake with the log files.

This code covers the generation of an artifact for the upcoming Log Viewer.  It does not cover the generation of the job artifact, that will be in a later PR and branch.

Please see the header for logparsecollection.py for a description of the architecture.