Use deterministic maps for FamInstEnv
Use deterministic maps for FamInstEnv

We turn FamInstEnvs into lists in some places which
don't directly affect the ABI. That happens in
family consistency checks and when producing output
for `:info`. Unfortunately that nondeterminism
is nonlocal and it's hard to tell locally what it
affects. Furthermore the envs should be relatively
small, so it should be free to use deterministic
maps here. Testing with nofib and ./validate detected
no difference between UniqFM and UniqDFM.

GHC Trac: #4012

sdiehl/ghc,vTurbine/ghc,vTurbine/ghc,olsner/ghc,ezyang/ghc,shlevy/ghc,sgillespie/ghc,ezyang/ghc,sgillespie/ghc,mettekou/ghc,ezyang/ghc,olsner/ghc,mettekou/ghc,sgillespie/ghc,shlevy/ghc,shlevy/ghc,mettekou/ghc,mettekou/ghc,snoyberg/ghc,olsner/ghc,shlevy/ghc,mettekou/ghc,shlevy/ghc,shlevy/ghc,snoyberg/ghc,sdiehl/ghc,sgillespie/ghc,mettekou/ghc,shlevy/ghc,ezyang/ghc,snoyberg/ghc,sdiehl/ghc,olsner/ghc,sdiehl/ghc,sdiehl/ghc,ezyang/ghc,sdiehl/ghc,snoyberg/ghc,vTurbine/ghc,vTurbine/ghc,vTurbine/ghc,mettekou/ghc,sgillespie/ghc,sdiehl/ghc,sgillespie/ghc,snoyberg/ghc,vTurbine/ghc,olsner/ghc,olsner/ghc,olsner/ghc,snoyberg/ghc,snoyberg/ghc,ezyang/ghc,sgillespie/ghc,ezyang/ghc,vTurbine/ghc