Adds campaign filtering

Fixes #11 

Adds filtering to campaign listings in individual digest messages. Filtering is based on:
- Remove campaigns that have a report back
- Remove campaigns that don't have a campaign image
- Remove entries that are not campaigns (invalid entries due to the migration from the old world to the new world)
- Only include regular campaigns, not SMS
- Remove inactive campaigns

- Sort by signup date, oldest first
- Limit the number of campaigns to 5 maximum
Hm, so I found this a little hard to follow since you're modifying the array `$targetUserCampaigns` that you're also actively looping through. This also seems to negate any sorting you were previously doing on the sign up date (the logic here looks like it's just moving items up to the top of the array as it's iterating through).