Make the tests run under Git Bash on Windows

Ironically enough, they were only failing because I tried to write
portable code in the first place.
Rewrite to allow arbitrary style check commands

Although the only one currently supported is hardcoded, the
infrastructure is now in place to use an arbitrary command for style
checking modified files.

This should make the tool useful for any programming language, and make
it easy for users to pass arbitrary config options.

Now I just need to generalize the config options out to a config file or
similar...
Add a basic config file

It is now possible (and necessary) for end users to use it to specify
the style check command, and the regex to pull the line number a line of
output from the command applies to.

It's just a basic JSON file, and the way we load it is dumb, but it works.
Add msg_regex option for slimming down error messages

Some style checkers (like phpcs's emacs report) include more information
than you need for a precommit hook. The msg_regex lets you select just
the part of the messages that are relevant.
Add support for trimming down error messages via regex

since some style check tools generate noise you don't need in a
pre-commit report.
Explain the project's new focus

since it is now language-agnostic.
Merge branch 'use-style-check-cmd'
Remove unnecessary autoload/rewrite header comment

Two things I failed to update when I changed this code to not be driven
strictly by PHP CodeSniffer.
Remove unused dependency from composer.json
Merge branch 'misc-tweaks'
Output an extra blank line between sets of errors

This makes it easier to read the output when actually coding with the
commit hook installed.
Merge branch 'clean-up-output'
Add test for multiple failing files

Because that's a good thing to do.
Merge branch 'add-multi-file-test'
Move initial commit to setUp() method (fixes most tests)

I could swear these ran perfectly on my home machine, despite relying on
a side-effect from the first test, but in the VM I just spun up on my
Windows box, each test needed the setup - as they always should have.

Weird.
Style-check only added, copied, and modified files

Such files are introducing new code to the repo, and should therefore be
checked for style.

Other actions, such as deletion or permissions changes, do not actually
add new code to the repo, and therefore do not need to be style-checked.
Run style check on the file as staged

Previously, unstaged changes would be included in the style check.

That gave rise to several confusing and annoying errors.
Add support for filtering checked files by extension

It's currently required, but maybe I should make it optional.

It just seems unlikely that by default you'll want to scan every file in
a project.
Fix style checking for files in subdirectories

I broke it a few commits back. It works again now, and there's a test to
make sure it stays that way.