Add ZenDeskResponseException, throw it where response wasn't 2xx or 404.
Extract methods to remove duplicate code, create since point of control for logging responses.
ZenDesk.complete: throw ExecutionException.cause itself if it's a ZenDeskException, rather than wrapping in another ZenDeskException