Make SegmentContainers contain edges instead of Segments

Previously, Segments seemed to be a useful abstraction, but they ended
up only containing single Edges. Apparently this section of the code was
forgotten when the change from Segment -> Edge was made
I want a SegmentContainer, not a list with one SegmentContainer

I often think that (take 1 coll) returns the first item from coll, rather than
a list that contains the first item from coll.
Make qs and non-qs sets, rather than seqs, so that they support contains?