Removed FileProcessor as a crawl parameter.

I removed the FileProcessor as a crawl parameter and instead made
FileCrawlers non-singleton scope and injected a provider.

This allows the FileCrawler to not contain any three parameter methods
because the FileProcessor does not have to be passed around internally
and can instead simply have a FileProcessor set on it, and then call
that FileProcessor's methods later on.  Injections should now use
a provider instead of injecting the FileCrawler directly, because
FileCrawler contain values that may not work in a global scope.