Clarify the differences with the GetOpt from base
And invite anyone to have a go at merging. Also re-export the types from the GetOpt from base rather than re-defining locally. In particular this means we gain a few instances. The changes wrt base GetOpt are: One change to allow us to treat "cabal --flag command" as "cabal command --flag" e.g. "cabal -v configure" to mean "cabal configure -v" for flags that are not recognised as global flags, pass them on to the sub-command. See the difference in 'shortOpt'. Line wrapping in the 'usageInfo' output, plus a more compact rendering of short options, and slightly less padding.