Performance Improvements

Tracks team member trip counts in the membership table. This allows for computing team/member participations using simple math, instead of loading every ride ever logged into memory and processing it all in the app. Every time a ride is create/updated/destroyed, the member's score is updated.

This is a fairly big diff, and I'm kind of worried that I've gone on too long without having other eyes on it. Anyone brave enough to review it?

Here's some simple metrics of page load times on my dev machine:

||master|score-performance|
|------|------|------|
|leaderboard|2763 ms|195 ms|
|dashboard|163 ms|69 ms|
|team listing|133 ms|66 ms|