Merge pull request #2 from daniperez/whitespace-fix

This fix makes dfm to skip empty lines in .dfminstall.
don't use git aliases
perltidy
implemented uninstall
implemented dry run test for uninstall
switch regex syntax to make vim happy
test cleanup

convert to subtests (Test::Simple >= 0.98)
change strings from " to ' if no interpolation
implemented updatemergeandinstall (or umi)
cleanup dangling symlinks on install
variable names should be clearer now
more testing for mergeandinstall

i.e. the --merge and --rebase options
only parse global CLI arguments once
add --version option
adding changelog
tweak to getting started instructions
make tests more robust

* detect if correct version of Test::More is installed
* clean up warnings
allow for bin itself to be recursive
deprecate implied recursion

Up until now, recursing into a subdirectory could be specified by just
putting the name of the directory in .dfminstall, like this:

-----------------
.ssh                 <--- causes dfm to recurse into the .ssh dir
README.md skip
t skip
-----------------

This is slighly confusing, because to just skip a file, a 'skip' keyword
was required.  This change makes recursion behave the same as skipping.
The above file should now look like this:

-----------------
.ssh recurse         <--- causes dfm to recurse into the .ssh dir
README.md skip
t skip
-----------------

A deprecation warning will be displayed if implied recursion is used.
handle switching to recursion
fix bin recurse test