Add various uninterpreted bit tensor data types
Summary:
This PR adds a set of unintrepreted data types on PyTorch which can be
used to implement experimental functionality out of core (think fp8,
int4, int16 quant, etc).
Note: this is a copy-pasta of https://github.com/pytorch/pytorch/pull/89990
with a bug fix for clang9, easier to just to put up another PR since I'm not
sure how comandeering works with Meta-only changes.
Test Plan:
```
python test/test_quantization.py -k TestBits
```
Reviewers:
Subscribers:
Tasks:
Tags: