Make changes to handling of input and output

Input can now come from --string, --password or a filename that is
the last argument on the commandline.  If none are supplied, the script
will assume it should try to read from stdin.

Output formatting can be overriden from the examples given to output
more script friendly format by setting --output to block or string.
Add eyaml file encryption and decryption

When using the --eyaml flag in conjunction with decrypt or encrypt
eyaml will now scan the file for sections wrapped in ENC[] and
decrypt or encrypt them appropriately. decrypted content is
delimited with ENC![]!<FORMAT> where FORMAT is one of STRING or
BLOCK depending on the format of the source encryption.
Change format for decrypted YAML

Previously we differentiated between strings and blocks usings
the trailing marker when plain text but it turns out it is easy
to detect by looking for YAML's multiline marker on the previous
line in the file.
Update the usage info to reflect changes in fa1ac559
Initial commit of an --edit mode

Allows you to edit an encrypted file by temporarily decrypting that
file, firing up your favourite editor and then encrypting any changes
you make.
Tidy up some of my ruby to be more conventional
Merge pull request #7 from sihil/sihil-add-edit-command

Add --eyaml mode to operate on whole files