Fix rare-ish errors

This fixes some rare-ish errors:
1.  Sometimes updates blow up with "PropertyAccessException[[Error: could
not access: language".  This fixes those by using more careful access in
the script.
2.  Some pages have really really really long links and things.  Those
can't be updated in Elasticsearch 1.2.1.  That also means that the index
that contains them cannot be rebuilt.  This causes Elasticsearch to throw
out the end of the really really long link.
3.  There is one branch of the error handling where Cirrus was throwing
away any errors from Elasticsearch - this makes sure they are logged.

Bug: 67157
Change-Id: I5bc87397a23982d3d7b9898fdc98fd9d1a289e27
(cherry picked from commit da1306ff8fa911ddc0100e767b501c05f7372037)