Poll badgekit

This adds support for polling badgekit-api to detect new instances of "contributor" badges.  When found, the recipients of the badges will be added to the contributions table.

The contributor badges themselves are defined in the new contributorBadges table.  Each entry must be associated with a particular system and badge slug in badgekit API.  The entry also described the team, bucket, and description that will be logged in the contributions table when a new badge instance is detected.  
`latestTimestamp` can be null here if there is a badge with no instances issued. In which case null gets cast to a date that MySQL doesn't like. 

Wrapping it with something like this did the trick, but there might be a neater way to do this:

```
if (latestTimestamp) {
                data.updateBadgePollTime(badge.id, new Date(latestTimestamp), function (err) {
                  return callback(err);
                });
              } else {
                return callback(err);
              }
```