RRef proxy support for ScriptModule methods (#48339)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/48339
Closes https://github.com/pytorch/pytorch/issues/48294
https://github.com/pytorch/pytorch/pull/48293 added creation and transfer of ScriptModule over RPC in python, but it did not work with ScriptModule.
This PR makes the above work with ScriptModule as per a discussion with mrshenli:
1) We remove the `hasattr()` check and just let Python throw the exception as it would when accessing the py function with `getattr`
2) We condition on `issubclass(type, ScriptModule)` when checking if it is wrapped with async_function, because `ScriptModule` does not have getattr implemented (this is because ScriptModule forward/function is not a python function, it is a torchscript specific function):
```
torch/jit/_script.py", line 229, in __get__
return self.__getattr__("forward") # type: ignore
AttributeError: '_CachedForward' object has no attribute '__getattr__'
```
ghstack-source-id: 117631795
Test Plan: Modified ut
Reviewed By: wanchaol
Differential Revision: D25134423
fbshipit-source-id: 918ca88891c7b0531325f046b61f28947575cff0