Implement BayesianMarkovStateModel

Clear PR with squashed history for `BayesianMarkovStateModel`.

- [x] Implement sampler
- [x] set `BayesianMarkovStateModel` API
- [x] Add docs
- [x] Add example
Yeah, it could. Its sort of an implementation detail (you don't see it if you just call this function), but it's critical for understanding the performance and behavior of the sampler.