Better error pages in the login flow

Assign: @natebrennand 

The "log out" button will disconnect their account, so that they will have to re-auth.

If we didn't whitelist their email:
![screen shot 2014-09-28 at 1 43 13 am](https://cloud.githubusercontent.com/assets/2433509/4433388/ae2363ae-46d6-11e4-8f8c-801198f82f58.png)

Any other errors:
![screen shot 2014-09-28 at 1 42 59 am](https://cloud.githubusercontent.com/assets/2433509/4433389/ae23b6e2-46d6-11e4-965c-76e19e7238d3.png)

Successful login:
![screen shot 2014-09-28 at 1 51 23 am](https://cloud.githubusercontent.com/assets/2433509/4433390/ae2ace14-46d6-11e4-803a-7cf6ba3f390c.png)

the rest of the method implies that you don't always return JSON with this, should this be in an if/else block or am I misinterpreting how the code is used?

if only there was a docstring.......