Add Filesystem::binaryExists()

Summary:
We use `which x` in various places; provide a wrapper which we might some day make work on Windows.

The motivation for this is twofold:

  - I want to commandeer D5670, which will involve another `which`. `which` is yuck.
  - Users hit issues with `svn`, `git`, etc., fairly often. It would be good to do a check after hitting an error in PhabricatorRepository so we can raise a very specific error message about "you do not have git in your webserver path, here is how to fix that".

Test Plan: Ummm... will use in next diff?

Reviewers: btrahan, vrana

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D5968