Move authentication to Oauth2

**NOT READY FOR MERGE.**

There's still a bit more cleanup to do:

- [ ] Remove `secrets.py` file
- [ ] Rename `auth_controller.py` to `account_controller.py`
- [ ] Fix user profile editing on the frontend
- [ ] Figure out what to do with admin panel authentication (would be nice to get #757 in)
- As it stands currently, to get to the admin panel requires logging in using the old authentication method. I'll probably just tackle the aforementioned issue immediately after this gets merged.
- [ ] Fix user listing/editing in admin panel
- [ ] Make sure suggestions still work
- [ ] Document changes. Document what's required to get this running for dev/prod.
- [ ] Remove [models/user.py](https://github.com/the-blue-alliance/the-blue-alliance/blob/master/models/user.py), because I'm pretty sure that's just a [hanging chad.](http://en.wikipedia.org/wiki/Chad_(paper))

Feel free to bring up whatever you see, but be aware that I know a few things are hacky/misnamed right now. Just wanted to get this out there so you can get a feel for what the major changes will be.

Closes #1069. Closes #1016.
What happens when a property is removed? I'm not sure ndb handles this well.