Fix issue #54 and improve recovery from simple errors

Fix issue #54 by filtering out EncBlocks that have no ID before checking for duplicates.

Also change the logic in the edit mode so that if anything throws a RecoverableError during the re-encryption phase then the use is prompted to edit the file again. this helps with losing large edits over a simple typo and gives a user half a chance to try again or preserve their changes.