Improved notices

Refactors the new `HMBKP_Notices` class to fixup some issues. Namely

- Error messages were persisting in the db even if the root cause of the message #646 
- Pointless dismiss button on error messages for errors which were still present #647 

`HMBKP_Notices` now supports both persistent (as in stored in the DB and thus available on subsequent page loads) and non-persistant (as in only stored in a class property) notices.
Maybe we could use `posix_getgrgid` and `posix_getuid` instead of `shell_exec` to get user and group info