Collection of HLint fixes

I applied [Hlint](http://community.haskell.org/~ndm/hlint/) to the source files and got some source code improvements suggestions.

Most of them are redundant brackets, `do` and `$`.  But there are some nice simplifications as well.