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.
Merge branch 'master' into personal
adding 'recurse' keyword to dfminstall
handle switching to recursion
fix bin recurse test
Merge branch 'master' into personal
add ability to specify options only in vimdiff

and use that ability to silence syntastic
opendiff -> vimdiff
adding git-walklog
adding gittrees file
change to point at my fork
Squashed 'bin/git-subtree/' changes from 2793ee6..4a42e3c

4a42e3c Adding a "list" command
d9ccd03 fixing typo
9ffdebb forgot that this readme has to be named "git-subtree.txt" for "make doc" to work.
c33ac77 bug: accidentally formatted "EOF".  Can't do that!
bcf01bd Merge remote-tracking branch 'mhart/safe-push'
1f5cb53 manually merging in mhart/safe-push.
2640a39 merging change from nresni
74b71f3 formatting change
e4665c8 Added check to ensure that split succeeds before trying to push
a4416ee use markdown
594606d A number of changes to push_all and pull_all:
3587568 add deb package
078e5e6 add launchad dir to ignore
ae16bb2 new commands: pull_all and push_all
22f6cb8 Use .gittrees config file like a .gitmodules when pull or push

git-subtree-dir: bin/git-subtree
git-subtree-split: 4a42e3c98f04ae436ba185d6045f887d48ae31cd
Merge commit '384ed6d6fa96533e8f2aba17ef6cf11d34c03889' into subtreenew
Squashed 'bin/git-subtree/' changes from 4a42e3c..8418558

8418558 'prune' command to clear out stale .gittrees info

git-subtree-dir: bin/git-subtree
git-subtree-split: 84185583ccabc97da7627a5fd2e01c32ea4c0965
Merge commit '50d6037ae0c4f9c8e48dd2085b34cef366349fb8' into test2
adding subtrees
disable ultisnips on centos/redhat < 6
don't need to install .gittrees into homedir