Lots of small improvements

Lots of small improvements:
- more flexibility of user & group names
- stdin/stdout/stderr restore correct
- documentation
- pass input & output "files" as file descriptor paths so that the agent works more reliably.
- don't read empty files with EncryptedFile, it can hang gpg
- more bits