Handle Failed Batch Push

Before this PR a PushApiError does not prevent last_pushed_timestamps from being pushed forward, allowing it to move beyond the updated_at field of objects which have not been pushed.