Login refactor 2

Contains the login refactor and webpack
If `waitForAll` isn't used (currently doesn't seem to be) let's trim it out and take advantage of `Promise.all` when it makes sense.