Genericize CLI find and process results logic.

- The main logic is now in the Cli class and the
  run function now accepts callbacks for specific
  steps in the process. Clearer, smaller code in
  applications. Weird static methods are gone,
  and applications don't need to call "find"
  explicitly anymore.