better error control when dealing with ready state and errors in the callback
adding tests for PR #54, improve async tests using ypromise
making jshint happy, I guess we will not be able to fully use the nice syntax new Promise().catch() feature after all
preveting callback to be called twice when it fails the first time
preventing callback to be executed twice when ready is rejected
doing the right thing for Promise polyfill
history entry and bump version for 1.3.1 from PR #54