[ADDONS|SECURITY] Ensure our zip hasn't been tampered with before rollback

Currently it's possible to craft the file name of a malicious addon such that if the user were to roll back the legitimate  addon, they would install the malicious one instead.  Not a difficult scenario to imagine with a small amount of social engineering.

Keep checksums of all downloaded packages in the addons db and verify the zips before presenting them to the user for rollback.

The DB stuff needs review by someone who knows what they're doing. @jmarshallnz?

I'm also unsure whether we'd want to trust what the user has downloaded currently.  AFAIK, no one is exploiting this ATM.  I only happened across it trying to plug a hole for one of Pivos' customers.