Fixed an infinite alarm bug

If alarms get set for the past, it will trigger the AlarmReceiver
immediately, which can cause it to continue setting alarms infinitely.
Fixed this by not allowing retroactive alarms to be set.