Shuffle files around, use TableGen to register passes, and introduce a `mlir-hlo-opt.cpp` file to hold the main entry point of the -opt tool and stop relying on static registration for dialect/passes. PiperOrigin-RevId: 323674455
This is as straighforward as possible, more cleanup/rewrite to come. PiperOrigin-RevId: 319849713