Bug 881047 Use Promise.jsm as promise implementation and remove
prototype inheritence promise functions. Remove net/url#readURI sync
options. Promise.all now only accepts promises, not spreads.
Merge pull request #1468 from jsantell/use-promise-jsm

Bug 881047 Use Promise.jsm as promise implementation and remove prototype inheritence promise functions. Remove net/url#readURI sync options. Promise.all now only accepts promises, not spreads. r=@gozala,@erikvold