fix "diff" alias for eshell, add setup for Haskell Cabal, more completions for "cabal" executable
add shell completion for ghc