git-subhistory split requires branchname for now

Won't be optional until the future when `git-subhistory {push,pull}` are
added (will need some kind of "private" refs namespace like
.git/refs/split-heads/<branchname> or something).

For forward-compatibility, require flag.
Skeleton git-subhistory.sh: parse opts, def log fns

Based on git-subtree.sh, git-submodule.sh, and git-bisect.sh, except
following the Git Coding Guidelines (which none of those fully do).

The clever, extensible string substitution-based subcommand dispatch in
Main is from git-subtree.sh/git-submodule.sh (presumably the former got
it from the latter), but with the git-bisect.sh naming scheme, which I
like better.
Add intro commentary to git-subtree comparison
Prepend 'fatal:' to all `die` messages

Also git generally seems to be all lowercase in 'fatal:' messages
Add usage(): prints usage after error message
Add some whitespace to example in README

Also prep for test script that runs through the example, where
whitespace is much more necessary to delimit steps
Fix -q to suppress elaborate() logs too

So -v -q is equivalent to just -q (prep for use by test script)
Add skeleton test script; .gitignore its test repo

Not based on anything, especially not git-subtree/test.sh. In my humble
opinion, tools like tests are only as useful as what you read, and
output that you habitually skim is worse than useless, it's clutter that
can hide actual important information, so a "just the highlights" view
is crucial.
First pass 'split' works! Tests included!

Use '-f'/'' as more convenient $force_newbranch values (to pass to
git-branch).

Add say_stdin(), which like say logs to stderr unless --quiet, but logs
its stdin rather than its arguments (to pipe to from commands like
git-filter-branch, which doesn't have a -q option).

There appears to be no way to instruct git-filter-branch not to store
backups of the original refs, use a subhistory-specific temporary
namespace instead. (Don't want backups because unlike filter-branch's
intended use, subhistory_split() isn't destructive, and next time
filter-branch will actually refuse to overwrite the backups unless
forced; don't want to force because that's not just about the backup
refs but also something about its own temporary directory, I suspect
it's not thread-safe when forced.)

I love that the entirety of subhistory_split() is just arguments
checking and then massaging a single filter-branch call, < 20 lines even
with manual line-wrapping.