OAuth stuff

I am mostly asking for a brief look over here now, also for security -- because auth == scary :worried:.

- I will rebase this before I submit for real, leaving as is now so history.

Frontend stuff:

- The frontend needs a lot of work, but exists -- That can be later.

We need to figure out how me and whoever is going to collaborate on the frontend, my idea is to create a second branch off of feature/bug4062, and whoever is going to better the frontend will request a pull request into my repo for it.

Backend stuff:

- The actual bits that you can auth to using OAuth ( besides the OAuth protocol bits, and /oauth/test ) are in a different patch.
- Ugh, I've probably screwed up so much style.