base.install: Don't mount /dev/ & /proc twice

In fact, we shall make it once and only once unless we got /dev/ mounted
on /dev and lead to failures at umounting.
common: Enforce LC_ALL=C

That's a good pratice not relying on custom locales.
pxe & health: Using common_setup

This is required to get a proper mounting of special FS.
run_kvm: Search qemu-system at last

On mga3, that totally breaks as qemu-system doesn't support kvm.
run_kvm: Disable -e during start_httpd

curl is about to fail until httpd is started, so we shall disable the -e
unless it exits prematurely
run_kvm: Adding trap to clean process

httpd & rsyncd shall be stopped when exiting the script
packages: Adding new functions

This patch add three new methods :
- is_package_installed : return if the requested package is already
  installed
- rebuild_db : rebuild the package database from inside the chroot
- rebuild_db_with_local: rebuild the package database from the host

The two rebuild_db calls are needed with using RPM based distro.
When performing updates on a target, the rpm format could be different
from outside & inside the chroot.
base.install: Calling rebuild_db_*

Let's call rebuild_db insted of manual rpm --rebuilddb call.

One rebuild_db_with_local is mandatory as the rpm format inside the
chroot is not matching the host one.
base.install: Adding more deps for centos/redhat

Thoses are required to get the pxe OS working properly
base.install: Allow multiple passes on install hp

When updating install stuff, we need a check to avoid rpm trying to
install it several time unless it fails.
pxe & health: Reduce initrd size for RPM distro

When building pxe & health targets, let's be sure that we don't embed
useless stuff that makes the initrd to big to be loaded properly
Makefile: rebuild pxe or health if init.common got changed

If init.common got touched, we need to rebuild pxe or health targets
packages: ignore yum check-update returned code

“yum check-update” execution code is not really useful, we ignore it for
the moment.

Retcode:
 - 0: success
 - 100: success with update packages to install
 - 0: RHN communication failure ( https://access.redhat.com/site/solutions/72573 )
openstack: add an empty “exclude” file
opentstack-compute: fix the package name on CentOS
minor: indent code

replace \t with 4 spaces
makefile: use simplified targets

use the “foo” alias target instead of the “$(INST)/foo.done”. This
remove a bit of complexity for the same result.
openstack-compute: packages is an associative array

declare packages as an associative array otherwise the ${foo["key"]}
syntax won't work and only returns the last last value (rpm in this
case)
minor: drop a double space in a message string
makefile: a variable to specify the target to test

This patch add a global variable called TEST_TARGET to pass the
name of the target to test with “make test”. This allow ones to
run command like:

    make test TEST_TARGET=openstack-compute

The default behavior is still to use “mysql” like before.