Reject pending message deferreds on Photoshop error

If Photoshop replies to a request with an error message that has no body then the deferred for that request is never rejected. This is because the deferred is only rejected if `err.body && err.id` is truthy. But when the message body is empty then `err.body === ""`, and so `err.body && err.id === err.body === ""`. The correct thing to do is, of course, to reject the deferred regardless of whether or not there is a message body. 

And, besides the superfluous and broken test for `err.body`, the `err.id` test is also broken because if `err.id === 0` then the test will also fail incorrectly. The pull request removes both of these broken tests in favor of a single test for whether `err.id` is an own-property of the set of deferreds and, if so, rejects the corresponding deferred.

Partially addresses [3787709](https://watsonexp.corp.adobe.com//#bug=3787709).
![lol](http://f.cl.ly/items/1f0F360V0E3u0q0D1m1V/ZGLV.gif "lol")