Pull apart the LoginController#login action

Begin pulling apart the different paths through the login action to
better understand how the action responds given different state.
Merge pull request #196 from mattdbridges/break-apart-login-action

Pull apart the LoginController#login action