Allow directory scanning without recursion flag.

The replace package will not scan files in any directory unless the
recursion option is set.  This has unintended consequences if only
files in one directory should be affected.  This patch allows
scanning the initial path parameter if it is a directory and keeps
track of the recurse depth with an extra parameter.