fix: Unicode-aware HTTPError response body serialization

This fix changes the way HTTPError details are serialized to JSON so
that Unicode strings are properly encoded; the href is percent-
encoded per URI standards.

Closes #129