State => StateImpl + add abstract class state

refactor separates MCMC from the structure of the state.