Enable exceptions on 4xx/5xx HTTP codes

That makes handling errors a little bit easier.
Rename XMLGenerator to XML\Generator

We will need an XML Parser later, so let's keep them in their own namespace
Fix HTTP client: body has to be a Guzzle Stream

Passing a string as the request body doesn't work, it has to be
a Guzzle Stream.