Add check for existence of errors before logging them

Resolves issue #151

When the `done` function call is used, all exceptions should be handled by the time the promise chain ends. Originally there was a log entry every time this chain ended (regardless of the presence of the errors) -- this change checks for the presence of errors first before logging. Should clean up log output a lot.