add directory eshell to .gitignore
Set package-enable-at-startup to nil

This prevents package.el from calling package-initialize in
after-init-hook: there's no need for it to do so, because we're doing it
ourselves.
Replace home-baked version of flycheck-display-error-messages-unless-error-list

Thanks @lunaryorn!
Merge pull request #203 from ltnwgl/gitignore

add directory eshell to .gitignore
Diminish interactive haskell mode when haskell-process is loaded
Combine after-load blocks
Only enable js2-mode's syntax checking if flycheck can't do it