Accept most types of errors when using v1

JSON-RPC v1 accepts any type as error. Previously errors were checked
only against the v2 specification, which requires error to be an object.
Nothing is mentioned of this in the JSON-RPC v1 specification therefore
we now accept any error if the version is 1.

This version will however still not handle errors that are falsy (false,
"", 0 etc) properly.