Rewrite blacklist code.
Remove attachment check because it doesn't really make sense.
Add on-dispense blacklist event.
Change blacklist repeated event tracking to use an expiring cache and cause names as keys.
Change use of integer IDs to "Target" objects in blacklist code.
Fix .gitignore ignoring too many things.
Add support for data values in the blacklist.