Run after-make-frame-functions after init

See #202
Better identify the startup frame

See #202
selected-frame is what we want
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
Apply move-dup patch only after move-dup is loaded
Enable highlight-symbol{-nav}-mode in css-mode and derived modes
Also enable rainbow-mode in color-theme-*.el
Use hayoo package
Ignore .hi (haskell intermediate) files when completing filenames
More personal links
More robust code for disabling js2 syntax checks when flycheck is active
Disable session.el in git-commit-mode, to avoid spurious point placement
Add pip-requirements
Use highlight-quoted in elisp