Use py::pickle in RRef pickling pybind code (#38147)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/38147
We're seeing many warnings of the form:
```
/home/rvarm1/pytorch/torch/distributed/rpc/__init__.py:14: FutureWarning:
pybind11-bound class 'torch.distributed.rpc.R
Ref' is using an old-style placement-new '__setstate__' which has been
deprecated. See the upgrade guide in pybind11's
docs. This message is only visible when compiled in debug mode.
```
in test logs, it turns out this is because pybind recommends using `py::pickle`
instead of manually defining getstate and setstate (see https://github.com/pybind/pybind11/blob/master/docs/upgrade.rst#id5). Changing to use pybind's
recommendation will silence these warnings.
Note that return types need to be added to the function to satisfy the contract
pybind expects, but they don't return anything since we TORCH_CHECK(false) in
all cases.
ghstack-source-id: 103769585
Test Plan: CI
Differential Revision: D21446260
fbshipit-source-id: a477e4937b1d6134992c57467cdbe10f54567b8b