DRY
Add new option: `allow_empty`

This option allows encryption of empty strings. It almost certainly
requires a custom encryptor.