feat: port daemon client to rust (#3671)
We still need to maintain the go client until run is ported, as the go
side needs it to save and request changed files. Now that the daemon
client is ported, the next step is to port the globbing tools needed for
the daemon server followed by the server itself.
Please note this is currently using a fork of the pidlock crate.
---------
Co-authored-by: Greg Soltis <greg.soltis@vercel.com>
Co-authored-by: Chris Olszewski <chris.olszewski@vercel.com>