[#263, #314] Undo revert of "Ensure that $terminfo values are valid"

This reverts commit ed4e9af9c41d08876a76a54a3dece174b92c066d.
[Fix #263, Fix #314] Ensure application mode is valid before use
Fallback to standard cabal location on OS X

If ~/Library/Haskell does not exist, fall back to ~/.cabal/bin.

Ideally, we'd parse ~/.cabal/config here, but cabal does not provide an
interface to get configuration settings.
Fix a typo in git documentation
[Fix #335] Prevent rbenv from hashing gems at startup
Fix auto completion for SSH hosts when saved with a non-standard port
Check for the existence of .zcompdump before compiling
[Fix #338] Remove vi jk and kj bindings
[Fix #348] Clarify how GNU utilities are wrapped
Update external completions
Update external syntax-highlighting
Add an alias to ammend a git commit, including the message
[Fix #347] Move 'users' from tag-order to group-order
[Fix #355] Do not set launchd environment variables

Setting environment variables for launchd processes is unreliable.
Finder and all Finder launched programs have to be restarted for the
new environment variables to take effect.
[Fix #357] Set alias gcO to check out hunks interactively
[Fix #360] Set alias giR to reset the index interactively
[Fix #349] Display diff when committing
Export $MANPATH and $INFOPATH
[Fix #366] Distinct position with red