Add support for filter commands.  This enabled encrypted dotfiles.

Filter commands are a powerful new feature which enable the mangling of
arbitrary files with custom commands.

They can be used to run any command:

    fresh config/secret.enc --filter="openssl aes-256-cbc -d -a -in"

GnuPG (the most common use case) is configured automatically.

    fresh config/secret.gpg --filter=gpg
    fresh config/secret.asc --filter=gpg

A filter is passed the source file as it's first argument.  If a filter only
reads from STDIN, it may be passed via a backpipe:

    fresh config/dotfile --filter="cat <"
Add basic testing for filters.

Filter tests are currently incomplete.  The only test currently altered to test
filters is the argument parsing test.
Change filter commands to read from STDIN.

All filter commands now read from STDIN.  If a filter command does not read from
STDIN by default, try passing '-' as the file name to force it:

    fresh config/dotfile --filter="cat -"
Remove special-casing of GnuPG
Add support for filter iteration.

This uses the standard bash scalar array syntax.  Output will be piped to each
command in turn.  To use this:

    fresh config/irssi/config.erb.asc --file=~/.irssi/config --filter=gpg:erb
Use regular pipe syntax for chained filters
Add Filters to the README

It currently uses some examples from my dotfiles.
Add path to freshrc references in README.
Move comments on README's freshrc example to new lines.
Test running filters on files.
Tweak filters section of the README.
Merge pull request #40.