Implemented Twitter, Github, and Facebook oauth interfaces.

Implemented Twitter, Github, and Facebook oauth interfaces.

Facebook is awful and stupid. Twitter is relatively nice. Github is a special snowflake.

Also patched broken behavior for unauthenticated users.
Because awful.