Correctly initialize this.details.

The constructors should really be fixed to use Java's getCause()
rather than the "cause" key.
Detect incorrect HTTP status codes

.. rather than failing on parsing the HTML in the
error message! :)