Participant pages work for Google users.

Tests pass!
WIP - Abstracting into a more generic architecture
Merge branch 'master' into elsewhere

Conflicts:
	configure-aspen.py
	gittip/models/participant.py
	gittip/wireup.py
Post-merge get_accounts_elsewhere

I should've done this on the last commit but neglected to.
Clean up wireup as well

Again, should have been done in the merge.
Move Google config out into wireup
Get old accounts elsewhere barely working TTW
Modernize a db API call
Rip out Google auth from elsewhere branch

When LyndsySimon started on the accounts elsewhere refactor (#1369) he
also started adding support for Google accounts as well. I've made a
"google" branch to keep that code around, I'm ripping it out of the
elsewhere branch because our first goal needs to be to refactor accounts
elsewhere without any user-visible changes.
Trim up some imports on elsewhere page
Clean up elsewhere page some more

HTML-escape some things and fix up API for oauth URLs.
Merge branch 'master' into elsewhere
Here's a failing test for an Aspen upgrade issue
Fix an Aspen upgrade issue (UnicodeWithParams)
Merge branch 'master' into elsewhere
Standardize nomenclature on "platform"

We were using "Service" but in the `elsewhere` table we use `platform`.
Add a little whitespace
Add .spt extension to a couple files

This branch started under an old version of Aspen that didn't require
the .spt extension.
Rough-in of an elsewhere refactor refactor; #1369

This adds a PlatformRegistry to website, which provides access to
instances of Platform subclasses, which have a load method that takes a
username on the given platform and returns an AccountElsewhere
orm.Model. This is all barely working with one test. Surely other tests
are broken now, I haven't even checked. Gonna start building back up and
out.
Eager-load participant when querying elsewhere