update D.js to current promises-aplus specification; package.js now installs current promises-aplus test suite; _resolve to a thenable now assures that only one of _resolve, _reject and caught _reject can be called, and then only one; now passes 2.x suite