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