sub: Minor updates
Use tpope/pathogen

Mine was created to adding documentation patches.
Those patches were rejected. I deleted the repo.
sub: Use pathogen v2.3 and call infect()

Update pathogen to v2.3. Like runtime_append_all_bundles before it,
incubate has become a deprecated alias. infect is still constant.

Switch from incubate to infect. I don't want filetype cycling, but
pathogen or later must turn on filetypes for ultisnips to work.

Use infect() to ensure that everything always works, but I also intend
to ensure that it's never required. Part of my Ubuntu setup guide
includes commenting out `syntax on` from /etc/vim/vimrc.

Adds output on startup if cycling will occur.
Fix double function definition in scons.vim

Found when messing with pathogen -- when we double-load filetypes, this
file is sourced twice.

Put autocmds in a augroup to ensure they're not doubly-defined.
sub: Update ultisnips to 3.0 and use new snippets

UltiSnips 3.0 no longer includes snippets. They were moved to the
vim-snippets repo. The snippets I care about in this commit are almost
the same as ultisnips/5d0627173698f823d1e825ae021d2bdba4873c8d but have
some minor bug fixes and cleanup (who knows for later).

I'm dropping my old snipmate-snippets repo that only had vim-snipmate
snippets. UltiSnips provides a way for me to delete unwanted snippets
(which I do in david-snippets), so I don't need to modify the snippet
repo directly (yay). snipmate-snippets was renamed to vim-snippets, so
all I'm doing is updating to latest, but I want to track the maintained
repo and abandon my own. Since snippets are more complex (they have
python code), I want the maintained version.

vim-snippets also has snipmate snippets, but they're not loaded by
UltiSnips, so they just take up disk space.
Add use-branch-if-already-there to gitconfig

Doesn't work for submodules (working on it), but it's still useful.