Count links from Elasticsearch instead of db

Use a multisearch to get both the count of incoming links and incoming
links to redirects to a page.  Elasticsearch will parallelize the whole
counting process so we make sure to perform all the counts we'll need
for the whole batch in one request.

Another thing: this commit changes the from scratch index building procedure.
Instead of sending the documents to Elasticsearch fully formed Cirrus will
have to send them without links information and then run a second pass to
fill that information in.  This is because Cirrus uses information populated
in the first pass to perform the second pass.

This commit causes the job that updates page information after it has
changed to spawn a second job to perform link updates for linked pages.
This is done to work around Elasticsearch's delayed updates.  The thing is,
we want to factor the first update into the link counts we perform for
the second update.  We could force Elasticsearch to perform an immediate
refresh but that is nasty from a performance standpoint.  So instead we
take our time with the links update and send them through another round of
the job queue.  By the time they come out the other side they the first
update should have become searchable by Elasticsearch.

Also, drop some deprecated fields that we no longer need to index.

Finally, make searching not blow up if it hits a field without the link
counts set.

Bug: 56798

Change-Id: Ide705f1e77c3076dc3c1a324689dd1cf46633855