Multiple alarm logic fixes
Fixes:
- Addressed the side case if multiple alarms go off on the same wakeup by changing the alarmToBeRung to be an array
- Pointers for alarmsToBeRung are now cleared if the alarm is deleted
- Fixed snooze values causing the qtime to become invalid (since the seconds become greater than 60)
- Fixed one-time alarms, where scenarios where the alarm is to occur on the next day do not trigger
EDIT:
- Fixed repeated day calculations so that they go forward in time rather than backward
- Fixed multiple wakeups happening from the same alarmwaitworker at the same time by only using the latest poll
- Fix dismiss behaviour being triggered with snooze
- Reset snooze when alarm enabled state changes
- Fix changes to alarm names not persisting
- Fix wrong notification type fired for alarm
- Remove lastSnooze field (not needed anymore)
- Add --no-powerdevil option to disable using powerdevil even if it is found
- Add snooze display to alarms list