[WIP] Implement PCCA and PCCA+

At this point, I think the key idea is to see whether we like the style of how this works / looks / flows.  I'll add tests once we agree on the API etc.
a slightly easier way to do this is to use `f = np.vectorize(self. trimmed_microstates_to_macrostates.get)`, and then apply `f` to seq.