fixes to piping keys stdin/out in image steganography

Also started refactoring code around key handling and
added some documentation.
refactoring of the way password and keys are handled internally

this change uses an hidden global variable within tomb to store the
decrypted key material, avoiding using one tempfile in RAM, avoiding
running the decryption more than once (which means sanity for KDF
usage) and overall simplifying the code also avoiding duplicates.