Raise HTTPError on 4xx and 5xx responses

Also, don't wrap HTTPErrors in TransportError because we need them to reach client
code. Otherwise, these errors would be swallowed by suds.