[bug 1047681] Fix mlt call to be more resilient

Previously, if the MLT call failed for a response, we would kick up an
HTTP 500 error and not show the response. That wouldn't be a big deal
except it turns out there are a myriad of reasons it could fail.

This makes that code more resilient. If it fails, we'll display a very
ugly looking error instead of failing completely. This makes that view
usable when ES is down as well as if the response hasn't been indexed
(rabbitmq down, ES down, reindexing the site, ...).