Cache contributors

We looked up the rate limit (60/hr) and added caching. The cache expires after 10 minutes so we should never hit 60.  While we were at it, we refactored the Contributors controller a little.