reenable support for -s (and co) in apt-get source

The conversion to accept only relevant options for commands has
forgotten another one, so adding it again even through the usecase might
very well be equally good served by --print-uris.

Closes: 742578
mark --allow-insecure-repositories message as translateable

Refactors a bit to ensure the same message is used in all three cases as
well.

Git-Dch: Ignore
run acquire transactions only once

Transactions are run and completed from multiple places, so it happens
for unsigned repos that the Release file was commited even if it was
previously aborted (due to --no-allow-insecure-repositories). The reason
is simply that the "failure" of getting an InRelease/Release.gpg is
currently ignored, so that the acquire process believes that nothing bad
happened and commits the transaction even though the same transaction
was previously aborted.
aborted reverify restores file owner and permission

If we get an IMS hit for an InRelease file we use the file we already
have and pass it into reverification, but this changes the permissions
and on abort of the transaction they weren't switched back.

This is now done, additionally, every file in partial which hasn't
failed gets permission and owner changed for root access as well, as it
is very well possible that the next invocation will (re)use these files.
autorun permission tests for all apt-get update calls

Adds some infrastructure to run tests automatically for certain
commands. The first command being 'apt-get update' (and 'apt update')
which check for correct permission and owner of the files in lists/.

Git-Dch: Ignore
check lists/ content in tests doing rollback

Git-Dch: Ignore
use c++ style instead of the last two c-arrays

Git-Dch: Ignore
check for failure message in testsuccess/failure

These functions check the exit code of the command, but for apt commands
we can go further and require an error message for non-zero exits and
none for zero exits.

Git-Dch: Ignore
testcases: do not allow warnings in testsuccess

Adds a new testwarning which tests for zero exit and the presents of a
warning in the output, failing if either is not the case or if an error
is found, too. This allows us to change testsuccess to accept only
totally successful executions (= without warnings) which should help
finding regressions.

Git-Dch: Ignore
test if TMPDIR is accessible before using

Private temporary directories as created by e.g. libpam-tmpdir are nice,
but they are also very effective in preventing our priviledge dropping
to work as TMPDIR will be set to a directory only root has access to, so
working with it as _apt will fail. We circumvent this by extending our
check for a usable TMPDIR setting by checking access rights.

Closes: 765951
debian/apt.postinst: chown _apt:root /etc/apt/auth.conf

If the methods drop privileges we need to ensure that
/etc/apt/apt.conf is still readable by the _apt user.
Ensure /etc/apt/auth.conf has _apt:root owner

Ensure in SetupAPTPartialDirectory() that the /etc/apt/auth.conf file
can be read by the priv sep apt methods.
check that auth.conf exists before chowning it

Git-Dch: Ignore
use AcquireRun() in DownloadChangelog()
remove MetaIndexFileNameOnDisk() helper that we no longer need
feature/priv-sep-apt-get-download: fix priv sep for apt-get download
Change permission of DestFile to _apt so that futimes() in gzip.cc works
Merge remote-tracking branch 'upstream/debian/experimental' into feature/socketpair

Conflicts:
	apt-pkg/acquire.cc