[WIP] Adds FxA OAuth support

### Work in progress
This is overly simplistic handling of errors. We'd probably like to distinguish between the Oauth server being unavailable (where trying again is unlikely to be helpful) and the something got messed up in the parameters (where putting the user back through the login flow might work).