add tests for changesgenerate
fix crash during copy of _servicedata

Before the Python rewrite, if the existing _servicedata was reusable, it
would be unconditionally copied from $SRCDIR to $MYOUTDIR.  The rewrite
introduced a call to os.path.samefile() which fails due to _servicedata
not existing in outdir.
fix format of new changes to match old shell tar_scm

The Python rewrite broke the format used for writing new changes.
fix bug when temp file is on a different filesystem

The Python rewrite incorrectly assumed that temporary files would
always be on the same filesystem as the --outdir.  When they were
on different filesystems, os.rename() would fail.
fix change generation bug introduced by Python rewrite
extract new get_changesauthor() method
tweak CONTRIBUTING.md
apply PEP8 to tests too
sort imports
prevent tests depending on the contents of $HOME