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.
TBH I just want to get rid of this whole thing with https://github.com/humanmade/backupwordpress/issues/55