Iwillig/xhr promise

@bcamper 

this ES6 syntax is so much nicer...