Add a pickle() method to EnsembleSampler

Trying to pickle an `EnsembleSampler` fails when it has an associated multiprocessing pool (because pools can't be serialized). This is just a little hack to pull out the `pool` attribute, pickle the sampler, then put the pool back...