Move EPS/HPT/etc. from HscEnv to UnitEnv
These commits move unit related fields of HscEnv (EPS/HPT/etc.) into UnitEnv.
This is preliminary work to support multiple UnitEnvs active at the same time. This is needed:
- to support plugins in cross-compilers (#14335) where one UnitEnv will be used for plugins (host platform, etc.) and another for the target (the only one we have currently).
to support differentimportnamespaces (e.g. to implement https://github.com/ghc-proposals/ghc-proposals/pull/412)
Several functions will have to be refactored to use UnitEnv instead of HscEnv: this is left for future work.
Edited by Sylvain Henry