[encryption] improved error handling

This should also catch some cases where people get stuck in "encryption in progress", cc @PVince81 

- Try to catch errors during initial encryption
- Catch errors during decryption if the file key or share key is missing
- Don't block the login forever if initial encryption is still running