(bug 4062) Initial OAuth implementation

This currently does not allow anyone to use OAuth to auth anywhere
but allows the OAuth token process to work.