code and data attributes on EtsyJSONInvalid error object

As things stand, the EtsyJSONInvalid error object returns a message that one needs to parse or regex to extract the CODE and BODY/DATA fields.
The rationale for this commit is to provide this information as attributes along the EtsyJSONInvalid error object. This is much handier in the light of the fact that the EtsyJSONInValid error encompasses a whole range of different error codes and messages.