Bug 941920 - Implement full Promise API in Promise.jsm. r=paolo