With basic WireMock infrastructure in place, add more tests for error conditions during stream config fetching to improve reliability of code.
- Get config returns HTTP/500, with a valid config (the code should treat that as an error and not load it)
- Get config returns an invalid config
- Get config times out (StreamConfigFetcher should fail after no more than a reasonable amount of time - 5 second?)
- Get config is an invalid URL, not connecting at all
- The above 4 (or a subset), but loading a valid config first, and having an error on the second config reload (the MetricsClient should keep using the valid config and ignore the new one)
- EventGate returns HTTP/500 (events should be re-enqueued and sent when EventGate recovers)