Reuse of mlir::AliasAnalysis in flang

For context, there have been a couple of dormant discussions on alias analysis so, as a heads-up, I was encouraged to start a new one.

Flang is planning on reusing the infrastructure in place for alias analysis.
I believe what is there is a good start and we will attempt to combine alias analyses with mlir::AliasAnalysis::addAnalysisImplementation.

I currently have this up for review ⚙ D136889 Infrastructure for alias analysis in flang, which touches MLIR. It does not make any substantial changes though other than move code for reuse.

I also have in mind a few changes that are more substantial, that I would like to discuss at some point, once we adopt this change. But that would be a different topic.