[emacs] Unified programming modes with prog-mode-hook.

This enables desired features for all programming modes using the
prog-mode-hook.  The programming mode-specific hook can change these
settings if desired.
[emacs] Enabled eldoc for C, C++, and Go.
[emacs] Cleaned up customizations for JavaScript.
[emacs] Enabled gitconfig-mode with more files.
[emacs] Better enabled auto-config, added modes.
[emacs] Added preliminary company-mode configuration.

This is not enabled yet, but this adds customizations to enable
company-mode.