Log Job Artifact Builder and refactor

I refactored most of the code to make this more straightforward and create less noise.  

Architecture
============

ArtifactBuilderCollection
------------------
* Holds one or more instances of ``ArtifactBuilderBase``
* If ``builders`` passed in, uses those as the artifact
      builders, otherwise creates the default artifact builders.
* Reads the log from the log handle/url and walks each line
      calling into each artifact builder with each line for handling
* Maintains no state


ArtifactBuilderBase
-------------
* Base class for all artifact builders`.
* Manages:
    * artifact
    * line number
    * parsers
* Passes lines into each ``Parser``

BuildbotLogViewArtifactBuilder
-------------
* Parses out content for use in a visual Log Parser
* Parsers:
    * StepParser, which has its own ErrorParser

BuildbotJobArtifactBuilder
-------------
* Builds an artifact for the TBPL main UI panel
* Parsers:
    * ErrorParser
    * TinderboxPrintParser