Decomplicate OAuth a little.

Still more work to do. This flattens things and is me noting problems like scary singletons I need to later fix.