preallocate hashset using # vertices
add PolygonCoverage class, create SafeDuplicateSegmentRemover to use in checking coverage validity
change group id, add flexibility to DuplicateSegmentRemover to also find duplicate segments, not just unique