Add --no-tests option to build-remote.
Add support for detection of number of CPU cores on HPUX.
Clean up cfengine-nova package scripts and add HPUX support.

The package scripts have long been a mess, and with HPUX support, we
are adding a fifth platform to the already existing and highly
redundant four scripts.

So this commit cleans up all that by abstracting the common platform
operations into separate snippets, and leaving the "meat" of the
script to be shared between all platforms. This significantly reduces
the maintenance overhead and also makes it more resilient by keeping
the tricky parts (like detecting whether or not you are doing an
upgrade) in the snippets so you don't have to care about it when
modifying the platform shared part.

Also added a README to describe how package scripts work on the
different platforms (among all the five platforms, not any two
platforms do it the same way). This gave rise to how the snippets are
organized, which is a bit more messy than I would have wanted, but it
seems to be the best way to cover all bases. See the produce-script
script for more details on this organization.

Currently only the cfengine-nova package is covered by the new snippet
system, but this can be extended to the other packages later.

Redmine #6798.
Enable unit & acceptance testing for HPUX.
Make chroot contain device files.

HPUX does not have a devfs, and copying the files as device files
seems top work ok there. This way we will have access to things like
the random device.

Also make sure rsync honors special files.
HPUX does not have /proc, so make mounting a noop inside chroot.
Avoid error if unmount of /proc fails.

HPUX does not have /proc, and even if a filesystem does have it, if
the error triggers it disturbs the fetching of the test logs, and
there is nothing we can do about a failed unmount anyway.
Merge pull request #23 from kacfengine/install_scripts_consolidation_and_hpux_support

Clean up cfengine-nova package scripts and add HPUX support.