Implement distances method

- Calculate the full set of distances for a sequence from all parents in
a SuffixTree
- Supports maximum distance sets
- Supports repeated cycles within a Sequence, TATAT for TAT
- Support added to SequenceCollection factories for creating collections
from other collections