This change introduce refactoring for the AbstractResultsOpt pass. Now this pass run on mlir::ModuleOp instead of mlir::func::FuncOp. this allows further changes to be made more easily - like converting "abstract results" in fir::GlobalOp.
- mlir::func::FuncOp-related conversions were decoupled into FuncOpConversion
- ReturnOpConversion was inlined to FuncOpConversion