Add support for -v option on OpenBSD

The `-v` (verbose) flag for `cp`, `ln`, and `rm` is not standard. It is
simple to implement using shell functions, so introduce `cp_v`, `ln_v`,
and `rm_v`. These shell functions use the existing `$VERBOSE` variable
for printing, which simplifies the code and reduces the number of
variables.

Fixes #61.
Fix the NEWS.md.in

Add 1.2.1 to the NEWS.md.in and move the unreleased news items to the
correct spot.
Fixed hooks not executing under Cygwin
Generate the list of contributors from git

Instead of requiring contributors to update rcm(7), pull the list of
contributors from the git log instead.

The `rcm.7` file has been moved to `rcm.7.mustache`. The `autogen.sh`
command will write `rcm.7` using autocontrib, a quick script included in
this commit.

This commit adds a `.mailmap` file, used by git-shortlog(1) to produce
correct and useful names and email addresses. An initial `.mailmap` has
been added to correct some existing email addresses and duplications.
`.mailmap` is documented in [Documentation/mailmap.txt][mailmap] for
git.

This adds a maintainer dependency on Ruby and the mustache gem. The
autocontrib program is spiked out in Ruby due to my familarity with the
language, but the choice of templating language (mustache) allows
flexibility for switching languages later. This is a dependency
requirement only for people who run `autogen.sh` -- maintainers.

This adds a maintainer dependency on git. Again, this is only for
maintainers, and many (all?) of them need git to get rcm's source
anyway.

Thanks to Patrick Brisbin and George Brocklehurst for the review.

[mailmap]: https://github.com/git/git/blob/6a907786af835ac15962be53f1492f23e044f479/Documentation/mailmap.txt
rcm.sh should not have +x attribute

The `rcm.sh` library was treated as a script in the Makefile, which gave
it executable permissions. Treating it as data just installs it as-is.

This fixes rpmlint's `script-without-shebang /usr/share/rcm/rcm.sh`
warning.
Only show hook filename when debugging

This uses a bit of a hack: if `$DEBUG` is set to `:`, then we are not in
debug mode.
Discover a POSIX shell for Solaris

Under Solaris, use ksh instead of `/bin/sh`.

This uses `$SHELL` as a POSIX shell, coupled with a `configure` check
that sets it correctly.

Note that the POSIX shell might end up being bash, so this actually
introduces more fragmentation than it reduces.

Taken from https://github.com/freedreno/mesa/blob/master/configure.ac
Update the NEWS

We had missed a few news items in our excitement.
Bump the version to 1.2.2
Post-release cleanup
Begin a basic test suite via cram
Ensure executables are so