[mlir][Pass] Add a tablegen backend for defining Pass information
This will greatly simplify a number of things related to passes:
- Enables generation of pass registration
- Enables generation of boiler plate pass utilities
- Enables generation of pass documentation
This revision focuses on adding the basic structure and adds support for generating the registration for passes in the Transforms/ directory. Future revisions will add more support and move more passes over.
Differential Revision: https://reviews.llvm.org/D76656