Don't reference TensorPipe headers in our headers (#42521)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/42521
PyTorch's usage of TensorPipe is entirely wrapped within the RPC agent, which means we only need access to TensorPipe within the implementation (the .cpp file) and not in the interface (the .h file). We were however including the TensorPipe headers from the public PyTorch headers, which meant that PyTorch's downstream users had to have the TensorPipe include directories for that to work. By forward-declaring the symbols we need in the PyTorch header, and then including the TensorPipe header in the PyTorch implementation, we avoid "leaking" the dependency on TensorPipe, thus effectively keeping it private.
Test Plan: Imported from OSS
Reviewed By: beauby
Differential Revision: D22944238
Pulled By: lw
fbshipit-source-id: 2b12d59bd5beeaa439e50f9088a792c9d9bae9e8