Improve detection of installed packages

The previous mechanism failed when the package name
got truncated by "dpkg-query -l", for instance:

  $ dpkg-query -l libreadline-dev
  Desired=Unknown/Install/Remove/Purge/Hold
  | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
  |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
  ||/ Name           Version      Architecture Description
  +++-==============-============-============-=================================
  ii  libreadline-de 6.2-9        amd64        GNU readline and history librarie

where libreadline-de is not the same as libreadline-dev (!)
Merge branch 'checkout-object' into lifecycle-branching
Begin working on a test for CPIO files

Before I can investigate whether it is possible to adapt the CPIO
support to generate CPIO files as part of the package install step,
I need some tests for normal use of the mechanism, in deployment.

This is the beginnings of that - it's not working yet(!)
So this is now a test for how CPIO deployment works

(as it workds at the moment)
Now with a failing test for what we want to work
Look, it appears to be working

well, for some value of "working" which is at least vaguely plausible.
Show using subdir destination, make executable

Demonstrate that the CPIO file can be created in a subdirectory,
which is important in the package case, as different "deployments"
can write CPIO files to different directories in obj directories
if wished.
Remove some redundant code
"Deploy" to the package install directory.

If we install to the obj/<name>/<role> directory, then it is not
possible to immediately "grab" the CPIO file with a deployment
(since deployment actions look in the install directoriees).

If we install to the install/<role> directory, then that's solved,
but a *package* wanting to use the CPIO file (for instance, to do
a kernel build) can still access it in the install directory just
as easily.

Also, given that the CPIO filename can include a subdirectory,
it is quite possible to use the same role for all CPIO package builds,
just with different subdirectories.
Merge branch 'master' into lifecycle-branching