Store notification rejection in key value store
About the issue
Technically, this was working before #921 (closed) (!https://gitlab.com/recoverycat/rcc-client/-/merge_requests/834), however in a somewhat annoying way, which I'd argue is bad UX
Before, when the user would reject the alert dialog, the code would not throw, and the user would see the same browser default dialog asking if they wanted to accept notifications or not as if they had clicked yes, meaning they'd have to decline twice.
About the fix
I changed it such that if the user chooses "no", we save this in the key value store (there's no way we can directly interact with the browser permissions API without showing the browser default dialog), then throw the error, the same way as if it had been set a "denied" in the browser.
This then means the dialog won't show again on refresh, as it checks if the value was set as "true" in the key value store
Closes #983