Refactor assignment logic into class

If a user hasn't clicked on an email in the last 3 days, we drop them down to twice a week. If they haven't clicked in 14 days, we go to once a week.

To do this, i needed to do some major refactoring, for my sanity. The majority of the logic for throttling is here: https://github.com/codetriage/codetriage/commit/4d90600f9ffafd52ccec02c5b7a1405ad6de9724
The recursion is to guarantee that we find an issue you haven't commented on. Alternatively we could select a bunch of issues instead of using limit 1 in the query. Then loop till we get a valid issue