Refactor of mcmc in terms of a couple of slightly lower-abstraction-level functions. This should permit a lot more flexibility in experimenting with things such as burn-in. I'm still not totally happy with public interface to the inference layer, though--it's a bit too complex and requires too much knowledge of multi-stage programming.