Handle throwing away overlaps better

Had to move smooshing to a later stage, but not overlaps are handled better.  Also included a bunch of new tests to verify the behavior