Define Functor instances for ArgOrder, OptDescr and ArgDescr
Remove a redundant backwards compatibility hack
Remove some always-true CPP tests from System.IO.Error

If
    defined(__GLASGOW_HASKELL__) || defined(__HUGS__)
was False then compilation would have failed anyway, e.g. due to a
missing definition for annotateIOError.