Made some important updates:
1. I think there was a problem with how the gelman_rubin values were
calculated before in the SampleDiagnostics module; I've attempted
to fix this.
2. I've made it possible for a chain to be extended after a sample()
call has been made with a new sample() call, i.e. it will pick up
where the previous chain left off. The idea is that this will make
it easier to monitor sample diagnostics while sampling, without
fixing the total number of steps ahead of time.