Files with the same prefix in different dirs

The bug:

    ~% ls -1 test-dotfiles/**/*(.)
    test-dotfiles/tag-openbsdbox/zshrc_alias
    test-dotfiles/tag-openbsdbox/zshrc_bsd
    test-dotfiles/tag-zsh/zshrc
    ~% lsrc -t openbsdbox -t zsh -d test-dotfiles
    /home/mike/.zshrc_alias:/home/mike/test-dotfiles/tag-openbsdbox/zshrc_alias
    /home/mike/.zshrc_bsd:/home/mike/test-dotfiles/tag-openbsdbox/zshrc_bsd
    ~%

We expect to also see:

    /home/mike/.zshrc:/home/mike/test-dotfiles/tag-zsh/zshrc

This arises because we were checking for files the start with another
name, rather than a full equality.
An integration test suite

This test suite uses cram to run integration tests through `/bin/sh`.
The tests are all high-level acceptance tests; they should work
regardless of the implemention code.

To run them, you must first install cram:

    sudo pip install cram

Then the `check` target will run them:

    make check

Failure output should be printed clearly to stdout, but in general: full
test output is in `test/test-suite.log` and output specific to a test
named `foo.t` is in `foo.t.log`.

Tests are now encouraged in `CONTRIBUTING.md` as part of the normal pull
request process.

This is a TAP-enabled test suite.
Partial fix for finding hook executables

This allows, at least, more executables to be picked up.

It doesn't pick up group-executable scripts and ignore xattr files but
it should be better than what was there before.

Closes #80
Link to the openSUSE (and RHEL and CentOS) package

This project is now a part of openSUSE, which can provide easy-to-use
packages for RHEL and CentOS. Link to that.
mkrc with relative filenames inside dotted dir

This is best explained with an example. If I want to track a file like
`~/.bundle/config`, the correct way would be:

    ~$ mkrc ~/.bundle/config
    --> ~/.dotfiles/bundle/config

But if you are already inside the directory, say:

    ~/.bundle $

and you ran:

    ~/.bundle $ mkrc con<TAB> # for autocomplete
    ~/.bundle $ mkrc config
    --> ~/.dotfiles/.config

Which is obviously not what you meant.

This basically checks first if the file exists in the current working
directory and if it is, it's expand the full path.

    ~/.bundle $ mkrc config
    --> ~/.dotfiles/bundle/config
Remove duplicate NEWS entry

This merge conflict was not handled perfectly, apparently, because we
got the same entry twice in `NEWS.md.in`.
Update the copyright, assign it to thoughtbot

This is a thoughtbot project now, so assign copyright to thoughtbot.
Bugfix: do not break out of the for loop

A `break` anywhere inside a `for` loop (even inside a `case`) will exit
from the innermost loop. Replace the `break` with a `:` to get the
desired effect.

Spotted by Pat Brisin.
Add a hostname override

Based on issue #82, we now provide `-B` to override the hostname. In
particular:

- `mkrc -B foo` will enable `-o` but with the hostname set up `foo`.
- `lsrc -B foo` will work like normal `lsrc` except it treats `host-foo`
as the host-specific directory.
- `rcup -B foo` will run a normal `rcup` except `host-foo` is the
host-specific directory.
- `rcdn -B foo` is just like normal `rcdn`, but with `host-foo` as the
  host-specific directory.

The `HOSTNAME` can also be set in the rcrc(5), and this is overridden by
the aforementioned `-B`.

While making this change: The `test/Makefile.am` used a mix of tabs and
spaces. Since it's a Makefile, replace it all with tabs.
Document the wild hostname(1) issue on OS X

As described in #82, the hostname on OS X can vary:

- The result of hostname(1) can change depending on DHCP settings; by
  default, as you move between networks, your hostname will change.
- The value for `ComputerName` as set in scutil(8) contains values that
  are inappropriate for a directory name (spaces, quotes, and so on),
  and is blank by default.
- The value for `LocalHostName` changes based on DNS and DHCP settings.

Therefore, OS X users are highly encouraged to set a hostname using the
`HOSTNAME` variable in rcrc(5).
Update documentation on usage

New flags have accumulated without proper care for the usage
instructions or man pages.

I manually went through each program and verified its usage instruction
against its `getopts`, then I alphabeticalized the usage message.

Based on the usage message, I then verified the synposis in the manpage.
Then, based on the synposis, I alphabeticalized the detailed listing of
the arguments and filled in the missing pieces. The `-h` and `-V`
arguments were missing from all manpages.

In the future we will need to be more careful about this. It would be
good to automate a checker that refuses to build unless the docs have
all the flags mentioned.
Distribute the tests with the tarball

People who download the tarball should be able to run the tests
themselves, so distribute the tests as part of the tarball.
Release 1.2.3
Prepare for the next release

The Debian changelog and NEWS.md.in need to be updated to prepare for
the auto-generation next time.
Add -git PKGBUILD

This allows people to install rcm-git on Arch.
Ignore the Arch git package

This file is generated, so ignore it.
Make the tests run again

The `check` target was broken because of `dist_TESTS`; it _must_ be just
`TESTS`, not distributed.

Use `dist_check_SCRIPTS` instead so that they can be packaged as scripts
for checking the system.
On bad args, show usage and exit

The lsrc(1), mkrc(1), rcup(1), and rcdn(1) commands will now print a
usage message and exit immediately (with 64, `EX_USAGE`) when given an
option it does not understand.

This includes `--version` and `--help`.

Normal `-h` will print usage and exit successfully, as normal.

Closes #59.
Link to the Web manpages

To give people a preview of the joy they will expect to find when they
start using rcm, link to the HTML manpages from the README.
PKGBUILD-git improvements

- Remove two configure flags which just caused warnings.
- Replace `pkgver` function with a working one.
- Explicititly `cd` into `srcdir` before `gitname` as found in
  `PKGBUILD-git.proto`.
- Bump `pkgrel`.
- Specify correct package version.