Add support for promises on req.login.

In response to #227 this uses promise.

Closes #225.