Keep thread-list a vector

This prevents the semantics of conj from changing. We want to append to
the list, but if we change the history into a seq (with `remove`), then
we make conj prepend to the sequence instead of append.