add JSONDecodeError :: String -> Error

Add the 'JSONDecodeError' error constructor to distinguish between
bad compact encoding and invalid JSON contained *within* a compact
encoding that on its own would result in a decoding error.