Prevent notification flooding

A sysadmin error resulted in sending 5000+ emails that shouldn't have
been sent, with some users receiving hundreds of emails.

To prevent this type of flooding in the future -- and to avoid excess
email in general -- add a log of notifications that are sent, and never
send a notification more often than once in 30 minutes to any particular
user.  That way, a worst case scenario from the type of failure that
happened would be one notification getting sent to each user.

This, of course, will only prevent notifications that are produced by
the notification signals.