Key Points
- SiteModel renamed to SequenceModel
- Removed dunder methods except for `__init__` removed from docs.
- `motif_length` property added to SequenceModel. The setter sets a random
site_prob of a given length
- `SequenceModel.diff()` is an alias for `__sub__`
- `SequenceModel` can handle either `list[list[float]]` or 2d numpy
arrays for site and background probs
- the utils which act on this, eg flatten_2d_list and euclidean_dist
are updated to handle the possibility of numpy arrays
- renaming `background_probs` to `background_base_probs` and `site_probs` to
`site_base_probs`