Pass along InvalidXmlException instead of re-throwing a new one
Move query from Response to SearchRetrieveResponse, and make version check generic
Expand ExplainResponse and add tests