[CORE] Extended IRQ support added.

This add extended IRQ support in Xvisor, and IRQ chaining.
The aim is to have a light and simple Linux IRQ domain like, without modifying
the existing Xvisor IRQs.

More precisely, it maps multiple IRQ on an hard IRQ.
Those extended IRQ number are defined above the upper bound of
CONFIG_HOST_IRQ_COUNT.
This helps, for example, GPIO drivers to have multiple IRQ on a single hardware
one.

In order to be used, as for IRQ domain, the driver must first add a new group,
with vmm_host_extirq_add, which return the new "vmm_host_extirq_group".
Then, IRQs of this group must be mapped, with "vmm_host_extirq_create_mapping",
returning the IRQ number.
This IRQ number, defined it the upper bound of CONFIG_HOST_IRQ_COUNT, can be
used as regular one.

When the driver HW irq is raised, the driver must call
"vmm_host_extirq_find_mapping" to retrieve the corresponding extended IRQ,
from the domain, and the group IRQ offset.
The invert function, which retrieve the extended IRQ from the domain IRQ is
"vmm_host_extirq_to_hwirq" (this is the main difference with the Linux kernel
domain IRQs, as retrieving the IRQ number is enough, but was not directly
possible in Xvisor without changing IRQ management).

Signed-off-by: Jimmy Durand Wesolowski <jimmy.durand-wesolowski@openwide.fr>