Reduce loops by using GHC.IO.catchException

instead of Control.Exception.Base.catch
Add Data.Dynamic to base-pure
Add base-io-system (incomplete)
Export stray IO modules from base-foreign