Add promise.full.js (fully compliant with A+)