Implement BayesianMarkovStateModel

Clear PR with squashed history for `BayesianMarkovStateModel`.

- [x] Implement sampler
- [x] set `BayesianMarkovStateModel` API
- [x] Add docs
- [x] Add example
So why didn't we just store the arrays like this during the MCMC run to begin with?