Updating HAL passes to use tablegen. (#15952)

No functional changes, just boilerplate churn from C++ to tablegen and
other cleanup.
diff --git a/tools/test/executable_sources.mlir b/tools/test/executable_sources.mlir
index 92df2e9..30e305e 100644
--- a/tools/test/executable_sources.mlir
+++ b/tools/test/executable_sources.mlir
@@ -36,7 +36,7 @@
   return %result : tensor<f32>
 }
 
-// CHECK: IR Dump Before mlir::iree_compiler::IREE::HAL::SerializeExecutablesPass
+// CHECK: IR Dump Before SerializeExecutablesPass
 // CHECK: hal.executable public @abs_dispatch_0
 // CHECK:   hal.executable.variant public @vmvx_bytecode_fb
 // CHECK:     vm.func private @abs_dispatch_0_generic