Added the ability to scanning directories singularly and recursively.

As a build step it's often useful to run a linter over your whole
project and see what needs linting. I added the command line option
-recursive to set recursive scanning and also added the requisite
stuff for dealing with directories.