A base assumption of the gitubuntu/git_repository::GitUbuntuRepository
class is that only one source package is stored in a given repository
(by definition this is true on Launchpad) but not explicitly required by
anything in git locally.

Since it is possible to rename a source package locally, e.g., in a
git-ubuntu repository, we want to be consistent with where we obtain the
source package name from -- either from the commandline or a
debian/changelog file. And additionally, cross-validate the values when
they should agree.

1) The following commands create an existing local repository:

	git ubuntu clone

The source package is always provided to this command.

2) The following command creates or re-uses an existing local
repository:

	git ubuntu import

The source package is always provided to these commands.

3) The following commands are run from within a GitUbuntuRepository and
have a ref to extract a debian/changelog from.

	git ubuntu merge
	git ubuntu tag

The commitish to merge or tag should be examined for debian/changelog as
the source package name, if needed.

4) The following command(s) are run from within a git repository and
requires .git/refs/remotes/pkg/ubuntu/<series>-devel:

	git ubuntu queue 

They should use the source package from debian/changelog for each devel
branch.

5) The following command is run from within a git repository and does
not require any refs to exist to run:

	git ubuntu remote

This should derive the value from HEAD, unless explicitly given on the
command line as an option. If given on the commandline, the value should
be verified against debian/changelog, if present, but should only be a
warning on mismatch.
