Make crypt module a weird hybrid between an amd module and a web worker script. That way the module can delegate some heavy lifting to a web worker without any code duplication.
Add error handling to worker methods
Update the Store object to use the web worker versions of crypto.pwdDecrypt and crypt.pwdEncrypt
Refactor encryption/decryption flow to avoid generating an entirely new  crypto key every time the collection is saved and to be able to properly cache generated keys
Properly reset data, password and caches when locking the app
Set iteration count for key generation explicitly since it deviates from the apps new standard
Show progress indicator when decrypting data
Update import module to use the worker version of crypto.decrypt
Export rand function
Update unit tests
Add unit tests for worker versions of crypto.genKey, crypto.encrypt and crypto.decrypt
Merge branch 'feature-workers'