Raise PatientNotFound when upstream says it's missing a patient record

This code is much uglier, both in ResponseParser (`parsed == {'HL7Message' => nil}` so `.fetch` doesn't always return the default hash) and in ResponseValidator (parsing twice, in ResponseValidator and in Fetcher if validation passed). Ideas to clean up are much appreciated!