Add memory of last run

This PR adds straightforward functionality to make `run_mcmc` remember where it was.  That is, it allows this sort of usage:

```
s = EnsembleSampler(...)

s.run_mcmc(p0, 200)

s.run_mcmc(None, 200) #picks up where it left off
```

This is backwards-compatible, because you have to *explicitly* give `None` as the first argument to `run_mcmc`.