Disentangle views from underlying data

    The major change here is to try to push segment logic (including the
    segments themselves) up into SegmentController and clarify the
    functional boundaries between the controller, SegmentTableModel
    (which is now a fairly slim wrapper), and SegmentView.

    Collateral damage includes ITSDocStatsView and other Segment stuff.
    Events have been added in some cases where there is still
    unpleasantness.
Additional SegmentController-related refactoring and tests

    Also Pulls XLIFFParser/Writer out into a simple factory so we can
    replace them; this may need further refinement.

    Some of the earily events work was a little haphazard; this
    centralizes most of the metadata-related events as being published
    by the controller and consumed by the views.  (Some additional
    events are still published by UI components for consumption by other
    components, but currently the controller isn't consuming any
    events.)

    This also fixes a bug where removing an LQI didn't update doc stats.