Encryption and decryption now use BytesIO as temporary containers instead of files on disk.
Code tweaks, exception catching etc.
Merge remote-tracking branch 'origin/rework' into rework