more info on smtp error

on every stage, smtp client save it, and if error occur, this stage info
is returned to error handler
lost saving stage in "DATA"
fixes TypeError

TypeError: Cannot use 'in' operator to search for 'dsn' in undefined
    at SMTPClient._getDSN
improvements to handling stage

- add stage property to errors emitted instead of additional argument
- add stage in missing places where error is emitted too
Merge pull request #51 from mysz/master

more info on smtp error