Add use-branch-if-already-there to subupdate alias

When I subupdate, I don't want detached head state. I don't want to set
submodule.$name.update to rebase or merge because I just want fast
forward. (I don't want to do accidental merges.) Maybe I can make
that work with !command.

For now, use-branch-if-already-there will get me close. It checks out
the branch if it's at the same commit as HEAD.

use-branch-if-already-there wasn't working from foreach when I tried it
(locally) before because it is a git command and foreach accepts shell
commands. foreach git use-branch-if-already-there works.

I considered using a script, but an alias seems easier to maintain
across machines.
Fix use-branch-if-already-there with mode changes

--summary still printed out some text like mode changes. --no-patch
prints out no diff info, so we only see the hashes.

Tested on bashmarks aafab70.
Clean up some git aliases

I've outgrown use co-branch and resolve. They're not good cross-scm
names either (unlike purify).

Git status says to use reset HEAD and -- ensures everything following is
interpreted as a path (if I don't want that, I should use reset).

Git docs recommend using : (nop command) to skip errors in foreach.

Whitespace cleanup!
Identity swap: pydave -> idbrise
sub: Cleanup whitespace settings and add snippet

Update david-snippets to get vim modeline snippet.

I read through the help on 'tabstop' and tried to make the snippet
follow that advice. I've also updated my whitespace settings to follow
that advice too.