Ensure RequestHeader.path is ok to call from client error callback

Fixes #3745.

When a URI is invalid, and the onClientError callback is executed, if
RequestHeader.path is invoked, an exception will be thrown.  This makes
the path just be the raw String.

Also moved a spec related to request handling out of the result handling
spec, and refactored the existing bad client handling spec to use
existing http request infrastructure from the integration tests.