Limited retry on 502 errors.

Sometimes, in development environments, we'll hit a problem between nginx and
our frontend workers, causing an error response. This shouldn't break the
entire test run.
Allow a limit to the number of health check tests.

This is mainly for testing the check script, but could also be useful if
we want to run shorter health check runs as part of development.
Add a verbose flag to the health_check script.
Update HTML adapter to account for new structure.

  * The tab IDs in the HTML have changed
  * There are now combined top results; for the purposes of this test, they
    count as though they were on top of all tabs, since that is how the page
    appears to a user.
Fix existing HTML-extraction tests.
Test extraction with top results.
Warn when the HTML base URL doesn't look right.

This helps avoid the problem where someone puts in the base URL as, say,
<http://www.dev.gov.uk>, causing all the tests to fail.
Fix auth credentials in the health_check script.

From the looks of it, this bit of functionality didn't properly survive the
transition from `govuk_search_health` to its current home in Rummager: one
side of the script was treating it as a string; the other trying to splat it
into `basic_auth`. We can use a custom value type to handle parsing at one end
and splatting at the other.

As part of this, also fix misnamed attributes in the two search clients, which
were breaking the auth reporting.
Generalise retries to handle all 5xx errors.
Merge pull request #111 from alphagov/health-check-top-results

Update HTML adapter to accommodate top results