[encryption] support aes 256

Basic AES-256 support for the files encryption app.

That's an early version. I did some random tests and it worked quite nicely. But I still need to add some unit test and of course some more testing would be really useful. Fell free to give it a try and report your experience back here.

Some information on how it works:

- With this patch we support AES128 and AES256
- The Admin can set in the config.php which cipher he wants to use for encryption, see config.sample.php. By default we will use AES-256-CFB
- Everytime we encrypt a file we use the first block as header. The header looks something like ```HBEGIN:cypher:AES-256-CFB:HEND-------``` where the ending '-' are used as padding so that the payload always begin with the second block.
- When we read a file we check for the header. If the header exists we use the cipher defined in the header, if no header exists we fall back to AES-128-CFB.

FYI @karlitschek @MTRichards 

Known issues:

- [ ] encrypt() and decrypt() is also used for the private key, we also need to introduce a header for it
string