Emit proper Error instances

Currently, {statusCode, body, jsonBody, thrown} objects are emitted,
where `thrown` is the actual Error instance (if there is one).

If there isn't an Error instance, we now create one.
(E.g. if the Neo4j URL returns a 404.)

For reference, see:

https://github.com/jimhigson/oboe.js/blob/v1.15.1/dist/oboe-node.js#L2003-L2014
https://github.com/jimhigson/oboe.js/blob/v1.15.1/dist/oboe-node.js#L1115-L1138
Updated test to expect error to be thrown directly instead of as a property of an object