Rearrange modules alphabetically
Make asynchronous operations thennable.

Q.Promise works like ES6 Promise.