Calum/deletes old docs take 2

@carloslima I'm having trouble making this example pass on Travis. You can see the failure [here](https://travis-ci.org/GovWizely/webservices/builds/38466670). You can see by the batches I import, that when I import batch_2 I expect the doc with ID 1 to be updated, and doc with ID 2 to be deleted. Instead, when I call `stored_docs`, I get back 4 docs:
```
[
  {"id"=>2, "content"=>"bar"},
  {"id"=>1, "content"=>"foo [updated]"},
  {"id"=>3, "content"=>"baz"},
  {"id"=>1, "content"=>"foo"}
]
```
It appears that ES continues to fetch the ones that were just deleted or made old versions. There is an [ES refresh that happens during the import process](https://github.com/GovWizely/webservices/blob/calum/deletes-old-docs-take-2/lib/indexable.rb#L36), and in the code above I even added a `flush`. I expected that with both of those requests having been sent to ES, it would not be in any kind of intermittent state and would return the documents I expected.

The spec always passes when I run locally, and sometimes even passes on Travis. In some earlier changes (not on this branch) I added `sleep 0.1`s between the index and stored_docs calls, but even that didn't help. I may try this again, but honestly I'd rather discover what I'm doing wrong when indexing, or find a way to get ES in a consistent state before retrieving the docs. Do you have any thoughts on the matter?