safe_pull can sometimes go into an infinite loop

If the last article cannot be retrieved during the getFinal() call, the
safe backfill script will get stuck and never finish.

To work around this, I think the best way would be to grab another batch
of articles and get the ID of the last article returned, we then use
this article ID as the base for retrieving the article time.

If no articles are returned in the final batch, we go back further and try again.