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
I think this logic should be changed. Because issue is not really delivered here. We don't want to get it again in the recursive calls but marking it as delivered will never select it again in the future. This issue can become valid based on changed user settings in future.