[functorch] Introduce gen_plumbing.py
Problem: writing plumbing is repetitive and time consumign
Solution:
- run `gen_plumbing.py add.Tensor ~/pytorch/build/aten/src/ATen/RegistrationDeclarations.h`
- copy and paste the output into a source file.
In the long-run we don't want to be checking this codegen into the
codebase. However I haven't figured out what the design for the
long-term codegen should actually look like; how does one specify that
we want to *insert* some user-defined code into the middle of a
function? There are a few ideas:
Idea 1: ADD_TENSOR_PLUMBING_BEGIN and ADD_TENSOR_PLUMBING_END macros
```
ADD_TENSOR_PLUMBING_BEGIN
// your C++ logic here
ADD_TENSOR_PLUMBING_END
```
Idea 2: big .yaml file
```
- func: add.Tensor
// your C++ logic here
- func: add.Scalar
// your C++ logic here
```