This commit vendors pywatchman commit 259dc66dc9591f9b7ce76d0275bb1065f390c9b1
from upstream without modifications. The previously vendored pywatchman
from changeset 16f4b341288d was from Git commit c77452.
This commit effectively undoes the following Mercurial changesets:
- dd35abc409ee fsmonitor: correct an error message
- b1f62cd39b5c fsmonitor: layer on another hack in bser.c for os.stat() compat (issue5811)
- c31ce080eb75 py3: convert arguments, cwd and env to native strings when spawning subprocess
- 876494fd967d cleanup: delete lots of unused local variables
- 57264906a996 watchman: add the possibility to set the exact watchman binary location
The newly-vendored code has support for specifying the binary location,
so 57264906a996 does not need applied. But we do need to modify our
code to specify a proper argument name.
876494fd967d is not important, so it will be ignored.
c31ce080eb75 globally changed the code base to always pass
str to subprocess. But pywatchman's code is Python 3 clean, so
we don't need to do this.
This leaves dd35abc409ee and b1f62cd39b5c, which will be re-applied in
subsequent commits.