Implement notification repeat feature.

As discussed and agreed on in #393.
Fixes #393. Fixes #1131.
I'm not sure what you mean. AlarmManager.cancel() takes the PendingIntent it wants to cancel. Since the MessageNotifier object might long be recycled when the notification is deleted, I can not just make the PendingIntent a static member, but have to put it into the Intent that is fired when the notification is deleted, right? Otherwise, how do I get the PendingIntent back when the MessageNotifier has been garbage collected?