Recurse into any directories given

In addition, if the -g option is given, it uses git ls-files in the directory
to only get files known to git.

When recursing, currently only .md files are matched. We may need to provide
an option to change this in future.

Fixes #45 and also fixes #49