Added check for done method on returned promise

This fixes #1
Ugh, IE8 is such an ass... I'll commit a fix in a second