call done() or pass deferred.reject directly to fail

silence noisy `q` by adding `.done()` OR directly calling `.fail(deferred.reject)`.
Looks like it's just trying to propagate the error out to the deferred's failure handler, although should it be `reject`? If so, there's another call to `.fail()` above that should probably be changed to `reject`.