build/repositories: fix Redhat case for add_main_repository
repositories: Revert target variable

As per commit bf94722bb9f4791943ea3ace7adbba07d161514d, the target
variable was removed to use ISO_PATH but it was because of a
miss-understanding of the code.

This commit revert this part of the commit and add a comment.
roles: Turn any role into virtualized image easily

The create-image.sh script was already existing but had to be used
manually.

This commit aims at adding a new option to turn the virtualized image as
an option at build time. This way, any existing role can benefit of this
feature.

The main idea is to use a VIRTUALIZED= variable that points to a simple
description of what the VM should look like.

This pointed file is just a shell file to be included(sourced) by
create-image.sh.

This will provides some options like :
ROOT_FS_SIZE={size_in_mb_of_the_root_fs|auto}
IMAGE_FORMAT={qcow2|raw|...}
NETWORK_CONFIG=auto

IMAGE_FORMAT list could be found by running the same command : "qemu-img --help | grep Supported | cut -d ":" -f2"
NETWORK_CONFIG could be used to make some static configuration is some
cases. That's almost a provision.

This patch is also :
* refactoring create-image to use "common" to get do_chroot, etc...
* add some cleanup calls in case of build failures
* add some sanity checks about external dependencies

The patch is adding the "sample.virt" to provide a sample configuration.

A typical usage for a role named "sample" would be :

make sample VIRTUALIZED=build/sample.virt
Makefile: Adding role to build an edeploy system

This is an empty shell that aims at providing a way to generate an
edeploy system (on bare metal or virtualized).

The role got named deploy to avoid the conflict with the edeploy file.
That was generating some dependencies issues.