Added check for done method on returned promise

This fixes #1
Changed updating prototype to using local func
Removed promiseDone, just using then/catch
Merge pull request #2 from johanneslumpe/patch-1

Added check for done method on returned promise