Save OAuth tokens

We need that for #2809 if we're going to show suggestions about who to tip based on elsewhere data.

I've included the simplate I used to check that it works for Twitter and GitHub. Still need to confirm that it works with the other OAuth platforms (Bitbucket, Facebook, Google, OpenStreetMap and Venmo), feel free to help (especially with Venmo since I can't test that).
Okay. We've been using an OAuth app for Venmo that is attached to my personal account. Due to bugs on their end we were unable to set up an app under our Gratipay account, but I believe that's resolved now. What are the implications of throwing away these access/refresh tokens? Does it make sense to also switch to a different Venmo OAuth app along with this PR?