Add Haskell auto-indenter

`do`, `of`, `let` and `where` start anew layout, according to the standard http://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-210002.7.
RHS of `=` should be indented further than the LHS. http://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-830004.4.3 http://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-620004