Make indentation level configurable

Indentation modes should start using this to decide how much to
indent. Some crazy people indent their Haskell by four spaces, rather
than two. When I have to work in those projects, I have to
conform. The solution is to add a .dir-locals.el file like this:

    ((haskell-mode . ((haskell-indent-spaces . 4))))

To indicate that this directory contains Haskell code that should be
indented four spaces.
Require haskell-mode in haskell-simple-indent
Use more conventional -tab-width name for indentation spaces
Stick with indent-spaces name instead of tab-width

tab-width is using insane hard-coded value of 8 in haskell-mode function
Make Cabal running string customizable
Fix indentation in all .el files

No semantic change.
Update NEWS with 13.10 changes
Add haskell-bot.el, for interacting with locally installed lambdabot