Split origin down serve stale test

Because we've realised that the behaviour is different depending on whether
we wait for the health check to mark the backend as down. This was described
in Matt's original varnishtest code:

https://github.gds/gds/fastly-config/blob/177d002bcc33639bbccf61fa52f7809ed4b2d01d/test/feature-tests/serve-from-stale-govuk.vtc#L10-15

Pair w/Cal.
Implement HealthCheckHasExpiredServeStale

The value of healthCheckExpire is based on the current mock configurations:

    .window = 2;
    .threshold = 1;
    .interval = 10s;

Based our testing with those values it seems that it needs to be 2.5x the
value of interval. However this doesn't seem very scientific.

Pair w/Cal.
Implement HealthCheckNotExpiredReplaceStale

Pair w/Cal.
Increase healthCheckExpire to 20s

This is failing intermittently on Travis CI. I think the only thing we can
do is increase the wait for the health check to expire :(
Merge pull request #68 from alphagov/74035678-implement_origin_serve_stale

[Fixes #74035678 #62] Split and implement remaining serve stale tests