Add support for encrypted files

### What does this PR do?
This PR allows citadel to load encrypted files from S3.

### How does it work?
Files should be uploaded to S3 encrypted with a secret key.

Here is an example on how to encrypt a string:
```
require 'openssl'
require "base64"

cipher = OpenSSL::Cipher.new('aes-256-cbc')
cipher.encrypt
cipher.key = "password"
puts cipher.update("secure string") + cipher.final
```


:+1: for the attribute but I am not sure about the "indication of the decrypt key". Maybe we can check whether it is blank or not...