Install into /usr on Debian

Signed-off-by: Jan Blunck <jblunck@infradead.org>
Merge pull request #48 from jblunck/packaging_fixes

Install into /usr on Debian
fix crash when changesrevision <param> is missing
use loop to clean up unit tests
remove trailing whitespace
allow specifying which tests to run via CLI args
make it easier to switch test class when filtering tests
remove unused timestamps field in svn fixtures
make test dividers more noticeable
make it more obvious where versionformat tests are
make various methods preserve cwd

It adheres to the Principle of Least Surprise; there may be other less
robust code elsewhere which makes assumptions about the working
directory based on a previous os.chdir().
chdir to package directory immediately prior to source service run

Source services expect to be run from within the package's checked out
working directory.  Previously the test suite would chdir() to this
directory during each test's setUp().  However this was brittle, since
anything after the setUp() phase could (and did) chdir() elsewhere.

This is required in order to test changesrevision, since tar_scm needs
to be run from the package's checked out source directory in order to
detect a pre-existing _servicedata file.
improve assertion message for tar_scm exit code
guard against unsupported SCMs
improve usage text
give help text more logical order
make user name/email publicly accessible from git fixtures

This will be used by the changesgenerate tests.
store git and hg hashes in full

This will be required to accurately test changesrevision,
since the _servicedata file needs to store full git SHA1 hashes,
not the abbreviated version.
add some debugging for changesgenerate code
add tests for changesgenerate