Git: move global gitignore to ~/.gitsupport/gitignore
Git: move filters to ~/.gitsupport/filters

The main "email" filters aren't in the repo because they contain
sensitive information (my real email address -- the filters filter it
out of any commits and replace it with public, sanitized versions.)

This commit changes the directory pointed to in ~/.gitconfig for the
filters. I then manually moved the filters into this directory.
Hg: add WebKitBuild to .hgignore_global
Git: remove unused/commented lines from .gitconfig
Git: Change commit cleanup mode to "strip"

This mode deletes trailing whitespace, successive blank lines, and
commented out lines.

Test: there should only be one line above, and no space here ->
Vim: properly set formatoptions

It looks like the "-=" expression only succeeds if every value on its
rhs is in the variable in the rhs. Thus, our line "-=tw2" would fail
because one or more of 't', 'w' or '2' was not in formatoptions.

This change manually removes each of those values from formatoptions
with individual "-=" statements. This should properly remove all from
formatoptions.

I don't *think* the same sort of bug applies to our "+=" expression.
Git: Create custom template dir from git default

This is the first step toward creating our own custom template dir (the
directory git copies into a new repo's ".git" dir, in addition to
"objects", "refs", "HEAD" and "config".)

At this point, it's just a copy of git 1.9.0's template dir, with no
changes.
Git: add in commit-msg hook to wrap long lines

This commit adds a hook to our custom template dir. This hook, a
commit-msg hook, does two things. First, it rejects commits with first
lines longer than 50 chars. Second, it wraps lines longer than 72 chars
(on the word boundary.)
Git: add sane default 'exclude' to user template

This commit adds a ./info/exclude file to our user-defined git template
directory. This file contains some sane starting exclude file.
Git: (template) set SourceTree to unwrap lines

In our user-defined template directory, we add a "sourcetreeconfig"
file, which is the file SourceTree uses to set per-repo config settings.

This config file has the effect of unwrapping word-wrapped line (for
example, those generated by our commit-msg hook.) It does this by
replacing non-double newlines with spaces -- i.e., if a paragraph is
separated from the previous one by a blank line, it leaves it be; if
not, it replaces the newline with a space.

Ideally, we'd set this option globally in SourceTree, but I don't see
an option for it.

This config allows us to have our cake and eat it too. In the Terminal
and on GitHub, commit messages are hard word-wrapped at 72 characters.
In SourceTree, they're soft-wrapped at the dialog boundary.

This may also affect messages of commits we make in ST (that is, the
messages with be modified when we write the commit.) However, this
should be an idempotent action, for properly formatted commit messages.
Git: tell git to use our user-defined template dir

We previously created our own user-defined template dir, but did not
tell git to use it (since it was still being developed.) We now change
~/.gitconfig to tell git to use this template dir.
Git: change name of SourceTree replacement pref

In our user-defined template dir, we change the sourcetreeconfig file
to modify the name of our 'unwrap lines' setting. (As a reminder, this
setting unwraps hard-wrapped lines in commit messages in SourceTree.)
Specifically, we change the name from an auto-generated "Search text ->
Replacement Text", to the more descriptive "Unwrap Lines".

This should have no functional difference, except for what the config
is named in the SourceTree UI.