Add support for tests needing separate global configs

Summary:
An upcoming diff will include a test that will need a separate global config. Add support for that.

This includes:
- Making `WatchmanInstance` a real object and not a singleton.
- Turning the static field in `WatchmanQueryFuture` into a parameter.

Test Plan: `arc unit --everything` -- the real test will come in an upcoming diff though.

Reviewers: wez

Reviewed By: wez

Differential Revision: https://phabricator.fb.com/D900217

Task ID: 2647765

--HG--
extra : rebase_source : f1c8906f460a35ea8552a1d40ad6fdece65d50e1
extra : amend_source : 887e111cb9e3e7a5ac98df4172e51a70d3cf0168