[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.~~ Feel 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 administrator can set the cipher he want to use in the config.php, see config.sample.php. By default we will use AES-256-CFB
- Every time we encrypt a file we use the first block as header. The header looks something like ```HBEGIN:cipher: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 not we fall back to AES-128-CFB.

FYI @karlitschek @MTRichards 

Known issues:

- [x] encrypt() and decrypt() is also used for the private key, we also need to introduce a header for it
- [x] need to write unit tests